Buku Tamu merupakan daftar tamu yang telah berkunjung ke suatu blog atau situs.

Dalam pembuatan sebuah website yang dinamis setiap programmer web sering menggunakan database sebagai datanya. PHP sendiri mendukung database-database yang ada seperti MySQL, Ms. Access, Oracle dll. Di sini saya akan menjelaskan bagaimana cara membuat sebuah aplikasi buku tamu, mulai dari input dari pengunjung sampai menampilkan data ke halaman web. Database yang saya pakai adalah MySQL.

Pertama kita akan membuat table dengan nama buku_tamu. Berikut scriptnya:

CREATE TABLE `buku_tamu` (
`id` int(10) NOT NULL auto_increment,
`tgl_kirim` datetime default NULL,
`nama` varchar(30) collate latin1_general_ci default NULL,
`email` varchar(30) collate latin1_general_ci default NULL,
`alamat` varchar(50) collate latin1_general_ci default NULL,
`kota` varchar(50) collate latin1_general_ci default NULL,
`pesan` varchar(50) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
)

Selanjutnya kita akan membuat koneksi ke database MYSQL. File ini kita beri nama mysql_connect.php Berikut ini adalah isi file mysql_connect.php :

<?php
DEFINE (‘DB_USER’, ‘root’);
DEFINE (‘DB_PASSWORD’, ”);
DEFINE (‘DB_HOST’, ‘localhost’);
DEFINE (‘DB_NAME’, ‘buku_tamu’);

$db_host = ‘localhost’; // don’t forget to change
$db_user = ‘root’;
$db_pwd = ”;
$database = ‘buku_tamu’;

$dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die (‘Could not connect to MySQL: ‘ . mysql_error() );
mysql_select_db (DB_NAME) OR die (‘Could not select the database: ‘ . mysql_error() );

$GLOBALS[MyDB] = mysql_connect(“localhost”, “root”, “”);

mysql_select_db(“buku_tamu”, $GLOBALS[MyDB]);
$handler = $GLOBALS[MyDB];

$title=”BUKU TAMU”;

?>

Selanjutnya kita buat file index.php yang berisikan form input buku tamu dan view (tampilan) daftar buku tamu. File ini digunakan untuk inputan dari user. Berikut ini adalah isi dari file index.php :

<html>
<head><title>Buku Tamu</title></head>
<body>
<form method=”post” action=”buku_tamu_doupdate.php”>
<h2>Form Buku Tamu</h2>
<table>
<tr><td>Nama</td><td><input type=”text” name=”nama” size=”20″></tr>
<tr><td>Email</td><td><input type=”text” name=”email” size=”30″></tr>
<tr><td>Alamat</td><td><textarea name=”alamat” rows=”10″ cols=”30″></textarea></tr>
<tr><td>Kota</td><td><input type=”text” name=”kota” size=”30″></tr>
<tr>
<td>Pesan</td>
<td><textarea name=”pesan” rows=”10″ cols=”30″></textarea>
</tr>
<tr><td></td><td><input type=”submit” name=”tombol” value=”Kirim”></tr>

<tr>
<td colspan=”2″><font color=”#FF0000″><? $err=$_GET[‘err’];
echo “$err”;?>
</font></td>
</tr>
</table>
</form>

<table width=”626″ border=”1″ cellpadding=”0″ cellspacing=”0″>
<tr bgcolor=”#CCCCCC”>
<td width=”20″>No</td>
<td width=”183″>Nama</td>
<td width=”128″>Email</td>
<td width=”191″>Alamat</td>
<td width=”70″>Kota</td>
<td width=”70″>Pesan</td>
</tr>
<? include “mysql_connect.php”;
$result = mysql_query(“SELECT * FROM buku_tamu order by id ASC”);
$init=0;
while ($row = mysql_fetch_array ($result)) {
$init++;
if ( $init%2 == 1 ) {
$warna = “#FEF4E7”;
} else {
$warna = “#E0E9F3″;
}
$nama=$row[2];
$email=$row[3];
$alamat=$row[4];
$kota=$row[5];
$pesan=$row[6];
?>
<tr>
<td bgcolor=”<? echo $warna ?>”><? echo “$init”;?></td>
<td bgcolor=”<? echo $warna ?>”><? echo “$nama”;?></td>
<td bgcolor=”<? echo $warna ?>”><? echo “$email”;?></td>
<td bgcolor=”<? echo $warna ?>”><? echo “$alamat”;?></td>
<td bgcolor=”<? echo $warna ?>”><? echo “$kota”;?></td>
<td bgcolor=”<? echo $warna ?>”><? echo “$pesan”;?></td>
</tr>
<? }?>
</table>
</body>
</html>

Selanjutnya kita buat file buku_tamu_doupdate.php sebagai action untuk memasukkan data ke dalam database MYSQL. Berikut isi file buku_tamu_doupdate.php :

<?php
require_once(“mysql_connect.php”); //memanggil file mysql_connect.php

if($_POST[“tombol”]==”Kirim”)
{
$nama =$_POST[“nama”]; // variable pada form input buku tamu
$email =$_POST[“email”];
$alamat =$_POST[“alamat”];
$pesan =$_POST[“pesan”];
$kota =$_POST[“kota”];

$query=”INSERT INTO buku_tamu(tgl_kirim, nama, email, alamat, kota,pesan) VALUES(now(), ‘$nama’, ‘$email’, ‘$alamat’, ‘$kota’, ‘$pesan’)”;
$result=mysql_query($query);
if($result){
header (“Location: index.php?err=Berhasil dikirim”);
}else{
header (“Location: index.php?err=Gagal dikirim”);
}
}
?>

Selamat mencoba ya. Nanti kita lanjutkan pembuatan paging dengan php. (^_~)*