APLIKASI BUKU TAMU PHP & MySQL

Kita akan membahas koneksi database mysql dengan PHP, langkah pertamanya adalah Anda membuat database yang digunakan untuk menyimpan data. sekarang bukalah: http://localhost/phpmyadmin/ di browser Anda. Akan muncul tampilan pertama dari phpmyadmin, phpmyadmin sendiri adalah tool untuk memudahkan administrasi database kita. Kemudian buatlah database baru, misalnya nama databasenya: latihan Untuk kasus latihan kita, maka akan kita buat aplikasi buku tamu, maka dari itu buatlah tabel: bukutamu di dalam database latihan tadi, field2 nya adalah sebagai berikut: id : int : autoincrement : primary nama : varchar(32) pesan: tinytext tanggal : date field id gunanya untuk memberikan primary key pada setiap record field nama untuk menyimpan nama, menggunakan string dengan maksimal 32 character field pesan untuk isi pesan yang ditinggalkan field tanggal untuk mencatat tanggal berapa pesan itu ditinggalkan Sekarang saya jelaskan aplikasi buku tamunya, aplikasi ini terdiri dari 3 page, yaitu: 1. index.php : untuk form bukutamu, sekaligus ada link yang menuju lihat.php 2. isi.php : file pemroses dari form di halaman index 3. lihat.php : halaman untuk melihat isi pesan yang sudah diisikan Ingat, yang saya berikan ini adalah contoh yang sangat sederhana, tidak memperhitungkan keindahan, dan keamanan/verifikasi data Source untuk index.php adalah sebagai berikut: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <title>Untitled Document</title> </head> <body> Buku tamu – <a href=”lihat.php”>lihat isi buku tamu</a><br />

exit(1). yang perlu dicermati adalah bagian form nya. exit. } $db = mysql_select_db(“latihan”. mysql_query($sqlText).$conn).php sebagai: $_POST['nama'] dan $_POST['pesan'] Inilah script di isi.<br /> Isilah buku tamu kami<br /> <br /> <br /> <form id=”form1″ name=”form1″ method=”post” action=”isi. isi dari form tersebut akan dilemparkan dalam sebuah variabel yang akan diterima di isi. $sqlText = “insert into bukutamu(nama.php begitu button Submit ditekan. header(“location:index.'$pesan’.php”> nama <input type=”text” name=”nama” id=”nama” /> <br /> <br /> pesan <textarea name=”pesan” id=”pesan” cols=”45″ rows=”5″></textarea> <br /> <br /> <input type=”submit” name=”Submit” id=”Submit” value=”Submit” /> </form> </body> </html> Nah. halaman index memang hanya halaman html biasa saja. $conn = mysql_connect(“localhost”. if (!$conn) { echo “Could not connect to db”.”root”. pesan.NOW(”))”.”").php”).php” artinya yang kita isikan di dalam form tersebut akan dilemparkan ke file isi. $pesan = $_POST['pesan'].tanggal) values(‘$nama’. ?> Sedikit penjelasan dari script diatas adalah sebagai berikut:} .php: <?php $nama = $_POST['nama']. form diatas menggunakan property action=”isi.

charset=utf-8″ /> <title>Untitled Document</title> </head> <body> Isi buku tamu<br /> <br /> <?php $conn = mysql_connect(“localhost”.$nama = $_POST['nama'].0 Transitional//EN” “http://www. if (!$conn) { echo “Could not connect to db”. kita tidak perlu memasukkan id karena telah kita set autoincrement pada saat create table tadi.w3. username: root dan password kosong atau tanpa password. maka gunakan username dan password Anda $db = mysql_select_db(“latihan”. setelah data kita masukkan Bagian terakhir adalah melihat isi buku tamu kita. gunanya untuk memasukkan data kita.'$pesan’. pesan.php”).tanggal) values(‘$nama’. menyuruh page kita redirect ke halaman index.php lagi. $nama diisi dengan $_POST['nama'] atau yang diisikan di form dengan id:nama begitu juga dengan variabel $pesan. $pesan = $_POST['pesan']. mysql_query($sqlText). exit. Kita sedang membuat variabel. $conn = mysql_connect(“localhost”. jika di mysql Anda telah Anda rubah password dan username nya. . if (!$conn) { echo “Could not connect to db”. Ini adalah sql biasa.”"). } membuat koneksi ke database mysql dengan server: localhost. exit(1).org/TR/xhtml1/DTD/xhtml1-transitional. dan tanggal kita gunakan fungsi NOW(”) yang artinya adalah tanggal sekarang header(“location:index.”root”. exit(1). ini adalah default dari wamp server. Kita memilih database: latihan sebagai tujuan script kita $sqlText = “insert into bukutamu(nama.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html.”root”.”").$conn).dtd”> <html xmlns=”http://www.php: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1. ini dia script lihat.NOW(”))”.

?><br /> <strong>Pesan</strong>: <?php echo $row->pesan. dan akan diulang terus sampai selesai. makanya kita pakai while loop disitu. $result = mysql_query($sqlText).$conn).?><br /> <br /> <?php } ?> Artinya setelah hasil select dari tabel kita dapatkan dalam variabel $result.?><br /> <br /> <?php } ?> </body> </html> yang perlu dikomentari adalah: $sqlText = “select * from bukutamu”. $sqlText = “select * from bukutamu”. $result = mysql_query($sqlText). while($row=mysql_fetch_object($result)) { ?> <strong>Nama</strong>: <?php echo $row->nama. while($row=mysql_fetch_object($result)) { ?> <strong>Nama</strong>: <?php echo $row->nama.?><br /> <strong>Pesan</strong>: <?php echo $row->pesan. .} $db = mysql_select_db(“latihan”. maka data tersebut di-fetch tiap record/row. Setiap record akan menulis nama dan pesannya.

if (ceknama. aplikasi buku tamu akan menggunakan database yang fungsinya adalah menyimpan daftar tamu yang pernah mengunjungi situs tersebut dan memberikan komentarnya. halaman daftar tamu.elements[2]. terutama situs .length == 0) { window. Halaman daftar tamu akan berisi daftar tamu yang telah mengisi buku tamu. Buku tamu merupakan salah satu fitur standar yang terdapat dalam situs-situs di Internet. Halaman form buku tamu berisi form untuk pengisian buku tamu. Hampir dapat dipastikan. yaitu halaman form buku tamu.1) == -1)) { .forms[0]. } else { if ((cekemail.value. var cekkom = document.situs pribadi. Untuk itu mula-mula kita persiapkan sebuah database dengan struktur sebagai berikut: Field nama email komentar waktu Tipe VARCHAR(50) VARCHAR(40) TEXT TIMESTAMP Tabel disimpan dengan nama tbl_tamu. sedangkan databasenya disimpan dengan nama data_kontak.alert("Anda belum memasukkan nama Anda").value. Kita mulai pembahasan kita dengan buku tamu.elements[1].APLIKASI BUKU TAMU 2 Pembahasan kita kali ini membahas mengenai aplikasi-aplikasi web dengan PHP.length == 0) || (cekemail. Kita mulai perancangan kita dari halaman form buku tamu. Pada halaman ini nanti akan ditambahkan suatu skrip yang akan melakukan verifikasi terhadap form yang belum diisi. Halaman form buku tamu akan berisi form untuk pengisian buku tamu. Halaman web yang nantinya di rancang akan memiliki 3 halaman.forms[0].value.forms[0].indexOf("@". Halaman terima kasih akan berisi ucapan terima kasih atas diisinya buku tamu. Skrip selengkapnya adalah sebagai berikut: <HTML> <HEAD> <TITLE> Form Buku Tamu </TITLE> <SCRIPT LANGUAGE="JavaScript"> function pesan() { var ceknama = document.elements[0]. var cekemail = document. dan halaman terima kasih.

length == 0) { window.alert("Periksa kembali alamat email Anda"). } else { if ((cekkom.alert("Anda belum memasukkan nama Anda").length == 0)) { window.simpan().elements[2].value.elements[0].forms[0]. } } } } </SCRIPT> </HEAD> <BODY> <h1> Selamat Datang di Situs Saya </h1> Silakan isi identitas Data Diri Anda <br /> <form name="guest_from" method="post" action="proses. var cekkom = document. var cekemail = document.value.elements[1]. Pembahasan dari skrip di atas adalah sebagai berikut: pada bagian head terdapat skrip JavaScript. } else { .value. halaman ini harus tetap dijalankan di virtual direktori dengan mengetikkan http://localhost/direktori/namafile.”></textarea> <input type="button" value="Simpan" onClick=pesan()> </PRE> </FORM> </BODY> </HTML> Simpanlah file dengan nama buku_tamu.forms[0]. Yang perlu diingat adalah bahwa walaupun memiliki ekstensi . skrip ini digunakan untuk verifikasi terhadap form yang belum diisi.html. <SCRIPT LANGUAGE="JavaScript"> function pesan() { var ceknama = document.html di bagian address browser.forms[0].html. height:150px.forms[0].alert("Anda belum berkomentar"). if (ceknama.window.php"> <PRE> Nama Anda : <input type="text" name="nama"> Email Anda : <input type="text" name="email"> Komentar : <textarea name="komentar" style=”width:200px. } else { document.

”')". tetapi pada bagian submit akan ditambahkan sebuah event handler yang mengacu pada skrip JavaScript yang terletak di bagian head.waktu) VALUES ('$_POST[nama]'.1) == -1)) { window. . $passwd = "root".length == 0) || (cekemail. mysql_select_db("data_kontak".alert("Anda belum berkomentar"). karena " .komentar.alert("Periksa kembali alamat email Anda").email.$conn) or die ("Query salah.if ((cekemail. '”. <input type="button" value="Simpan" onClick=pesan()> Halaman berikutnya adalah halaman terima kasih.length == 0)) { window. $conn = @mysql_connect ($host. Setelah itu nilai setiap elemen tersebut diperiksa. $strSQL = "INSERT INTO tbl_tamu(nama. $passwd) or die ("Koneksi Gagal. Halaman terima kasih merupakan halaman yang akan menampilkan ucapan terima kasih sekaligus di dalamnya terdapat skrip PHP yang digunakan untuk mengolah data yang dimasukkan pada halaman form buku tamu. jika kosong. } } } } </SCRIPT> Mula-mula skrip tersebut mengambil nilai dari setiap elemen form. $user. karena: " .$conn). $qry = @mysql_query($strSQL. } else { document. Skrip selengkapnya adalah sebagai berikut: <HTML> <HEAD> <TITLE> Buku Tamu </TITLE> </HEAD> <BODY> <?php $waktu=date(“Y-mm-dd H:s:i”) $host = "localhost".forms[0]. Bagian berikutnya merupakan form HTML biasa.'$_POST[komentar]'.indexOf("@". mysql_error()). $user = "root". maka akan muncul peringatan. mysql_error()). } else { if ((cekkom.'$_POST[email]'.$waktu.simpan().

Seandainya ada bagian yang belum Anda isi. </BODY> </HTML> Simpanlah file dengan nama proses.php inilah yang nantinya menampilkan daftar para pengisi buku tamu yang disajikan dalam bentuk tabel. Nah. Anda dapat melihatnya dari MySQL langsung sebagai berikut: mysql> use data_kontak.?> <h2> Terima kasih atas kesediaan Anda mengisi buku tamu. aplikasi ini sudah bisa dijalankan. mysql> select * from tbl_tamu. Pada artikel sebelumnya kita telah membahas dua halaman pertama dari aplikasi buku tamu. Untuk sementara jika Anda ingin melihat daftar dari para pengunjung. setidaknya walau belum jadi.php adalah sebagai berikut: <HTML> <HEAD> <TITLE> Buku Tamu </TITLE> </HEAD> <BODY> . Skrip di atas pada prinsipnya hanyalah membuka koneksi ke mysql dan menyimpan data-data yang telah dimasukkan ke dalam tabel. Mengenai link ini belum akan dibahas di halaman ini. kemudian isikan identitas dan komentar Anda. Sekarang kita sempurnakan aplikasi tersebut dengan menampilkan daftar dari para tamu yang telah memberikan nama dan komentarnya. Mula-mula jalankan file buku_tamu.html. </h2> <HR> <A href="/lihat_tamu.php? "> Klik di sini </A> untuk melihat daftar para pengisi buku tamu. Skrip selengkapnya dari file lihat_tamu.php”> Klik di sini </a> untuk melihat daftar para pengisi buku tamu. Untuk menyegarkan ingatan Anda pada halaman terima kasih terdapat link sebagai berikut: <a href=”lihat_tamu. Pada bagian bawah terletak sebuah link yang merujuk pada halaman daftar tamu.php. Dengan query ini. File lihat_tamu. browser akan memberikan peringatan. lalu klik Simpan. MySQL akan menampilkan seluruh daftar tamu yang telah memberikan identitas dan komentarnya.

$user. $conn = @mysql_connect ($host. echo "<TD BGCOLOR=#f7efde>" . "</TD>". ?> <TABLE BORDER=1> <TR> <TD BGCOLOR=#f32142> Nama </TD> <TD BGCOLOR=#f32142> Email </TD> <TD BGCOLOR=#f32142> Komentar </TD><TD BGCOLOR=#f32142> Waktu </TD> </TR> <?php while ($row = mysql_fetch_array ($qry)) { echo "<TR>". seandainya situs tersebut merupakan situs yang ramai oleh pengunjung dan pengisi buku tamunya banyak. $passwd) or die ("Koneksi Gagal: " .$conn) or die ("Query salah: " . $row["waktu"] . $passwd = "root". $row["komentar"] . $qry= @mysql_query($strSQL.<?php $host = "localhost". "</TD>". $row["email"] . Nah. echo "<TD BGCOLOR=#f7efde>" . Untuk membuat bentuk halaman seperti itu. $jml = mysql_num_rows($qry). mysql_error()).php dengan skrip sebagai berikut: . $strSQL = "Select * from tbl_tamu". jadi apabila ternyata ada yang memiliki nama dan email yang sama. Gantilah isi skrip file lihat_tamu. echo "Jumlah pengisi = $jml <br />". $user = "root". echo "<TD BGCOLOR=#f7efde>" . maka menampilkan daftar tamu seperti skrip di atas tentu kurang baik karena halaman tersebut akan menjadi sangat panjang. Kira-kira seperti hasil search di Google itu lho. echo "<TD BGCOLOR=#f7efde>" . } ?> </TABLE> </BODY> </HTML> Nama-nama yang tertera di sana hanya fiktif saja. mysql_error()). $row["nama"] . mysql_select_db("data_kontak". "</TD>". Alternatif yang digunakan adalah menampilkan sejumlah record tertentu per halaman dan di bagian bawah halaman terdapat link untuk menuju ke halaman berikutnya atau sebelumnya. itu hanya kebetulan belaka. berikut akan diberikan salah satu contoh skrip alternatifnya.$conn). "</TD>". echo "</TR>".

mysql_select_db("data_kontak". $row["email"] . "</TD>".$conn) or die ("Query salah: " . $hal = $_REQUEST['hal']. $strSQL2 = "Select * from tbl_tamu". echo "<TD . mysql_error()). ?> <TABLE BORDER=1> <TR> <TD BGCOLOR=#f32142> Nama </TD> <TD BGCOLOR=#f32142> Email </TD> <TD BGCOLOR=#f32142> Komentar </TD><TD BGCOLOR=#f32142> Waktu </TD> </TR> <?php while ($row = mysql_fetch_array ($qry)) { echo "<TR>". mysql_error()). $passwd = "root". echo "<TD BGCOLOR=#f7efde>" . } $pct = 100/($page+4).$conn). $jml = mysql_num_rows($tot). echo "Jumlah halaman = $page <br />". $kel = $jml/5. "</TD>". $qry = @mysql_query($strSQL1. mysql_error()).$conn) or die ("Query salah: " .<HTML> <HEAD> <TITLE> Daftar Tamu </TITLE> </HEAD> <BODY> <?php $host = "localhost". $conn = @mysql_connect ($host. $user = "root".1) * 5. $strSQL1 = "Select * from tbl_tamu limit $batas. } else { $page = floor($jml/5)+1. $passwd) or die ("Koneksi Gagal: " . "</TD>". $tot = @mysql_query($strSQL2. echo "Jumlah pengisi = $jml <br />". echo "<TD BGCOLOR=#f7efde>" . echo "<HR>". $row["nama"] .5".$user. $batas = ($hal . echo "<TD BGCOLOR=#f7efde>" . $row["komentar"] . if ($kel==floor($jml/5)){ $page = $kel.

php?hal=$i'> $i </A>". if ($hal!=1) { echo "<A href='lihat_tamu. $row["waktu"] . $next=$hal+1.php?hal=$next'> Setelah>> </A>". color:red.php?hal=$prev'> <<Sebelum </A>". } else { echo "<<Sebelum".BGCOLOR=#f7efde>" . } echo "</TD>". } else { echo "Setelah>>". } ?> </TABLE> <hr style="width:90%. } else { echo "<TD WIDTH=$pct". size:2px. echo "</TR>"."%>". if ($hal!=$page) { echo "<A href='lihat_tamu.$i<=$page."> <TABLE BORDER=0> <TR> <?php $lebar=$pct*2."%>". echo "$i". echo "</TD>". } echo "</TD>"."%>". echo "<TD WIDTH=$lebar". ?> </TR> </TABLE> </BODY> </HTML> . echo "</TD>".$i++) { if ($i==$hal) { echo "<TD WIDTH=$pct"."%>". echo "<A href='lihat_tamu. for ($i=1. $prev=$hal-1. } } echo "<TD WIDTH=$lebar". "</TD>".

selamat mencoba untuk melihat hasilnya . Setiap link untuk menuju ke suatu halaman tertentu akan memiliki bentuk seperti ini: <A href=”table.Contoh skrip ini menggunakan query string di dalam menentukan halaman mana yang aktif saat itu. .php?hal=$i”> Variabel $i akan berisi nomor halaman yang dituju.D.

Sign up to vote on this title
UsefulNot useful