Bekerja Dengan Form Dan Database MySQL

6. Bekerja dengan Form
Contoh 9: Form sederhana
<form action="action.php" method="POST">
Nama Anda: <input type="text" name="name" />
Umur Anda: <input type="text" name="age" />
<input type="submit">
</form>
Contoh 10: Menampilkan data dari form contoh 9
Hai <?php echo $_POST["name"]; ?>.
Umur kamu <?php echo $_POST["age"]; ?> tahun.
Contoh hasil output:
Hai zayn. Umur kamu 26 tahun
7. Bekerja dengan Database MySQL
7.1 Koneksi ke Database MySQL

Untuk koneksi ke database, menggunakan fungsifungsi
builtin
PHP sebagai berikut:
– mysql_connect (nama_host, nama_user, password_user) : melakukan koneksi ke
server MySQL
– mysql_pconnect (nama_host, nama_user, password_user) : melakukan koneksi tidak
terputus ke server MySQL (persistent connection)
– mysql_select_db (nama_database) : memilih database
– mysql_query (perintah_SQL) : melakukan query ke server MySQL
– mysql_fetch_rows (result_id) : mengambil baris per baris hasil query
– mysql_fetch_array (result_id) : mengambil baris per baris hasil query dan
menjadikannya sebagai array
– mysql_fetch_object (result_id) : mengambil baris per baris hasil query sebagai object
– mysql_free_result (result_id) : membersihkan hasil query dari memory server
– mysql_close (link_id) : menutup koneksi
7.2 Membuat Aplikasi Buku Alamat Sederhana
Aplikasi buku alamat adalah contoh sederhana dari beberapa aplikasi web (web application).
Contoh skrip berikut dapat dikembangkan atau dipakai untuk membuat aplikasi lain, seperti web
log (atau disingkat blog), shoutbox! (semacam buku tamu), daftar koleksi barang, atau
manajemen data pegawai dan sebagainya.
Contoh 11: Melakukan koneksi ke server kemudian menampilkan output data
Buat database latihan dan tabel alamat dengan perintah berikut:
mysql> CREATE DATABASE latihan
mysql> USE latihan
mysql> CREATE TABLE alamat (item_id INT NOT NULL AUTO_INCREMENT, nama
VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, alamat VARCHAR(100) NOT
NULL, telepon VARCHAR(20), PRIMARY KEY (item_id));
mysql> INSERT INTO alamat VALUES (0, 'budi raharjo', 'budi@plasa.com','singa
21', '55667788');
mysql> INSERT INTO alamat VALUES (0, 'm. zayn hamdan',
'zaynhamdan@yahoo.com','perintis kemerdekaan VII', '587911');
mysql> INSERT INTO alamat VALUES (0, 'onno w purbo', 'onno@indo.net.id','batu
12', '(021) 11223344');
Buat skrip berikut dengan nama koneksi.php
<?php
$link = mysql_connect ("localhost", "root", "passwdKU");
mysql_select_db ("latihan");
$result = mysql_query ( SELECT * FROM alamat );
// mengambil baris menggunakan mysql_fetch_row
while ($row = mysql_fetch_row ($result)) {
echo $row[1] . . $row[2] . . $row[3] . . $row[4];
}
// mengambil baris menggunakan mysql_fetch_array
while ($row = mysql_fetch_array ($result)) {
echo $row['nama'] . . $row['email'] . . $row['alamat'] . .
$row['telepon'];
}
// mengambil baris menggunakan mysql_fetch_object
while ($row = mysql_fetch_object ($result)) {
echo $row->nama . . $row->email . . $row->alamat . . $row-
>telepon;
}
mysql_free_result ($result);
mysql_close ()
?>
Bila ingin tampilan lebih rapi, buatkan tabel untuk menampilkan data
// awal sisipan
// mengambil baris menggunakan mysql_fetch_row
// buat header/judul tabel terlebih dahulu
echo <table>
<tr>
<td align=center><b>Nama</b></td>
<td align=center><b>Alamat</b></td>
<td align=center><b>Email</b></td>
<td align=center><b>Telepon</b></td>
<td align=center colspan=2><b>Perintah</b></td>
</tr> ;
while ($row = mysql_fetch_row ($result)) {
echo <tr>
<td>${row[1]}</td>
<td>${row[2]}</td>
<td>${row[3]}</td>
<td>${row[4]}</td>
<td><a href=edit.php?id=${row[0]}>Edit</a></td>
<td><a href=hapus.php?id=${row[0]}>Hapus</a></td>
</tr> ;
}
echo </table> ;
// akhir sisipan
Contoh 12. Form sisip data
// sisip tag html, head dan body
<form action=sisip_data.php method=post>
<pre>
Nama : <input type=text name=nama size=40>
Email : <input type=text name=email size=40>
Alamat : <input type=text name=alamat size=40>
Telepon : <input type=text name=telepon>
<input type=submit name=Submit value= Sisip data > <input type=reset>
</pre>
</form>
// sisip tag penutup body dan html
Simpan dokumen html di atas dengan nama sisip_data.html, kemudian buat skrip untuk
memproses data dari dokumen sisip_data.html, beri nama sisip_data.php
Contoh 13. Skrip untuk memproses data dari form lalu disisipkan ke dalam database
<?php
$link = mysql_connect ("localhost", "root", "passwdKU")
or die ( Tidak bisa konek ke server MySQL! );
mysql_select_db ("latihan");
$data_nama = $_POST['nama'];
$data_email = $_POST['email'];
$data_alamat = $_POST['alamat'];
$data_telepon = $_POST['telepon'];
mysql_query ( INSERT INTO alamat VALUES (0, '$data_nama', '$data_email',
'$data_alamat', '$data_telepon');
echo Data dengan nama $data_nama sudah tersisip ke dalam database. Klik <a
href=sisip_data.html>di sini</a> untuk menyisip data kembali ;
?>
Contoh 14. Skrip untuk mengedit data
<?php
$link = mysql_connect ("localhost", "root", "passwdKU")
or die ( Tidak bisa konek ke server MySQL! );
mysql_select_db ("latihan");
$item_id = $_GET['id'];
$result = mysql_query ( SELECT * FROM alamat WHERE item_id = '$item_id' );
$row = mysql_fetch_array ($result);
echo <form action=ubah_data.php method=post>
<input type=hidden name=item_id value=${row['item_id']}>
<pre>
Nama : <input type=text name=nama size=40 value=\ ${row['nama']}\ >
Email : <input type=text name=email size=40 value=\ ${row['email']}\ >
Alamat : <input type=text name=alamat size=40 value=\ ${row['alamat']}\ >
Telepon : <input type=text name=telepon value=\ ${row['telepon']}\ >
<input type=submit name=Edit value= Simpan perubahan > <input type=reset>
</pre> ;
?>
Bila diklik tombol “Simpan Perubahan” maka akan dijalankan skrip dibawah ini.
Contoh 15. Skrip simpan perubahan data
<?php
$link = mysql_connect ("localhost", "root", "passwdKU")
or die ( Tidak bisa konek ke server MySQL! );
mysql_select_db ("latihan");
$item_id = $_POST['item_id'];
$data_nama = $_POST['nama'];
$data_email = $_POST['email'];
$data_alamat = $_POST['alamat'];
$data_telepon = $_POST['telepon'];
mysql_query ( UPDATE alamat SET nama = '$data_nama', email = '$data_email',
alamat = '$data_alamat', telepon = '$data_telepon' WHERE item_id =
'$item_id' );
echo Perubahan telah disimpan. Klik <a href=index.php>di sini</a> untuk
kembali ke indeks halaman ;
?>
Contoh 15. Skrip menghapus data
<?php
$link = mysql_connect ("localhost", "root", "passwdKU")
or die ( Tidak bisa konek ke server MySQL! );
mysql_select_db ("latihan");
$item_id = $_GET['id'];
mysql_query ( DELETE FROM alamat WHERE item_id = '$item_id' );
echo Data sudah dihapus. Klik <a href=index.php>di sini</a> untuk kembali ke
indeks halaman ;
?>
8. Session Management
Session digunakan untuk memudahkan variabel ditransfer dari satu skrip ke skrip lain. Session
hanya berlaku sampai waktu tertentu. Jika user menutup browser, session akan berakhir pula atau
jika session dihapus.
Contoh nyata dari session adalah membuat halaman yang diproteksi menggunakan password.
Orangorang
tertentu saja yang diperbolehkan untuk masuk ke dalam halaman tertentu. Untuk itu,
masingmasing
halaman mengidentifikasi apakah user tersebut telah berhasil login atau
terotentikasi (authenticated) dengan benar atau tidak.
Contoh 16: Mendefinisikan session
<?php
session_start (); // fungsi ini wajib dijalankan untuk memulai session
// membuat session logged dan nama_user
$_SESSION[ logged ] = ye;s
$_SESSION[ nama_user ] = zayn ;
echo Ini adalah halaman didefinisikannya session, berikut isi session:<br> ;
echo \$_SESSION[\ logged\ ] = . $_SESSION[ logged ];
echo <br> ;
echo \$_SESSION[\ nama_user\ ] = . $_SESSION[ nama_user ];
echo <p><a href=session2.php>Ke halaman berikutnya</a></p> ;
?>
Beri nama session1.php setelah itu buat skrip dengan nama session2.php
<?php
session_start ();
if (isset ($_SESSION[ logged ]) && isset ($_SESSION[ nama_user ])) {
echo Anda diperbolehkan mengakses halaman ini ;
echo <p><a href=logout.php>Logout</a></p> ;
} else {
echo Anda tidak diperbolehkan mengakses halaman ini ;
}
?>
Buat skrip logout.php untuk menghapus session.
<?php
session_start ();
unset ($_SESSION[ logged ]);
unset ($_SESSION[ nama_user ]);
echo Anda berhasil logout ;
?>

Popular posts from this blog

Kode Singkatan Komponen Listrik Dan Elektronik

Cara Mengatasi E31 Canon MP258

Cara Mengukur Trimpot