Membuat GuestBook untuk Website Kamu
Akhirnya jadi Juga GuestBooknya.. :mrgreen:
Oke skarang gw share deh gmna buat GuestBook untuk Website Lo, gak mesti Buat Database di Mysql lagi..
![]()
Download filenya disini :
DOWNLOAD
Hasil Liat disini :
Klo dah bat Foldernya, Lo buat file index.php dengan script sebagai berikut..
<?
// Ttitle of the web page
$title = "- - - Selamat Datang di Buku Tamu saya - -";
//####Change “admin” with your own password. It’s required when you delete an entry
$admin_password = “site88?;
//Maximum entry per page when you view your guestbook
$max_entry_per_page = “10?;
//Name of file used to store your entry
$data_file = “data.dat”;
//Maximum entry stored in data file
$max_record_in_data_file = “500?;
//Color & font setting
$background = “#FFFFFF”;
$table_top = “#9999CC”;
$table_content_1a = “#c6d7ec”;
$table_content_2a = “#D9E4F2?;
$table_bottom = “#D9E4F2?;
$table_border = “#000000?;
$link = “blue”;
$visited_link = “blue”;
$active_link = “red”;
$font_face = “verdana”;
$message_font_face = “arial”;
$message_font_size = “2?;
if (!empty($_GET)) {
if (isset($_GET["do"])) $do = $_GET["do"];
if (isset($_GET["id"])) $id = $_GET["id"];
if (isset($_GET["page"])) $page = $_GET["page"];
} else if (!empty($HTTP_GET_VARS)) {
if (isset($HTTP_GET_VARS["do"])) $do = $HTTP_GET_VARS["do"];
if (isset($HTTP_GET_VARS["id"])) $id = trim($HTTP_GET_VARS["id"]);
if (isset($HTTP_GET_VARS["page"])) $page = trim($HTTP_GET_VARS["page"]);
}
if (isset($_POST["do"])) $do = $_POST["do"];
else if (isset($HTTP_POST_VARS["do"])) $do = $HTTP_POST_VARS["do"];
if (!isset($PHP_SELF)) {
if (isset($_SERVER["PHP_SELF"])) $PHP_SELF = $_SERVER["PHP_SELF"];
else if (isset($HTTP_SERVER_VARS["PHP_SELF"])) $PHP_SELF = $HTTP_SERVER_VARS["PHP_SELF"];
}
if (!isset($do)) $do = “”;
else if (preg_match(”/W/”,$do)) $do = “”;
if (!isset($page) or $page == 0) $page=1;
if (!file_exists($data_file)) {
echo “<B>Error !!</B> Data tidak ditemukan : $data_file.<BR>”;
exit;
} else {
if ($max_record_in_data_file <> 0) {
$f = file($data_file);
rsort($f);
$j = count($f);
if ($j > $max_record_in_data_file) {
$rf = fopen($data_file,”w”);
for ($i=0; $i<$max_record_in_data_file; $i++) {
fwrite($rf,$f[$i]);
}
fclose($rf);
}
}
}
switch ($do) {
case “”:
$record = file($data_file);
rsort($record);
$jmlrec = count($record);
?>
<HTML>
<HEAD><TITLE><?echo “$title”?></TITLE>
<style type=”text/css”>
<!–
.style1 {
font-size: 12px;
font-weight: bold;
}
–>
</style>
</HEAD>
<!– Start Style For Font Displaying in the Record Table –>
<STYLE type=text/css>
.font1 {
COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px
}
.font2 {
COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 10px
}
.font3 {
COLOR: #000000; FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 7.5pt; FONT-WEIGHT: bold
}
.select {
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 9pt
}
.input {
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 9pt
}
</STYLE>
<!– End Style –>
<BODY bgcolor=”<?echo “$background”?>” link=”<?echo “$link”?>” vlink=”<?echo “$visited_link”?>” alink=”<?echo “active_link”?>” topmargin=”0? marginheight=”0?>
<!– start Top Navigation –>
<TABLE align=center border=0 cellPadding=2 cellSpacing=0 width=”95%”>
<TBODY>
<TR>
<TD width=”56%”><IMG height=55 src=”gbook.gif”
width=214></TD>
<TD align=right
width=”44%”> <BR>
<IMG
height=20 src=”sign.gif” width=17>
<A HREF=”<?echo “$PHP_SELF?do=add_form&page=$page”?>”><B>Tulis Buku Tamu</B> </a> </TD>
</TR>
<TR>
<TD width=”56%”><? echo date(”l dS of F Y h:i:s A”); ?>
<hr>
<span class=”style1?>Silahkan isi buku tamu dulu… </span></TD>
<TD align=right vAlign=bottom width=”60%”><a href=”http://www.my-ciebal.co.cc”><img src=”back1.gif.png” alt=”BACK” width=”51? height=”51? border=”0?></a></TD>
</TR></TBODY></TABLE><br>
<!– End Top Navigation –>
<TABLE align=center bgColor=#000000 border=0 cellPadding=5 cellSpacing=1 width=”95%”>
<TR bgColor=#9999cc>
<TD width=”32%”><FONT color=#ffffff
FACE=”<?echo $font_face?>” size=2><B>Nama</B></FONT></TD>
<TD width=”68%”><FONT color=#ffffff
FACE=”<?echo $font_face?>”
size=2><B>Komentar</B></FONT></TD>
<TD width=”15%”><FONT color=#ffffff
FACE=”<?echo $font_face?>”
size=2><B>Hapus</B></FONT></TD>
</TR>
<?
$jml_page = intval($jmlrec/$max_entry_per_page);
$sisa = $jmlrec%$max_entry_per_page;
if ($sisa > 0) $jml_page++;
$no = $page*$max_entry_per_page-$max_entry_per_page;
if ($jmlrec == 0) echo “<TR><TD colspan=3 bgcolor=’$table_content_1a’ align=’center’><FONT color=’#ffffff’ SIZE=’3? FACE=’$font_face’><b>There is no entry yet.</b></FONT></TD></TR>”;
$w = 0; //–Color
for ($i=0; $i<$max_entry_per_page; $i++) {
$no++;
$recno = $no-1;
if (isset($record[$recno])) {
$row = explode(”|~~|”,$record[$recno]);
if ($w==0) {
$warna = $table_content_1a;
//$warna = “#c6d7ec”;
$w=1;
} else {
$warna = $table_content_2a;
//$warna = “#D9E4F2?;
$w=0;
}
//—Displaying Records–
echo “<TR bgColor=’$warna’><TD vAlign=top width=’32%’>
<TABLE border=0 cellPadding=2 cellSpacing=0>
<TBODY><TR><TD vAlign=top width=’8%’><B>$no .</B></TD>
<TD width=’92%’> ”;
if (trim($row[7])<>”" and trim($row[7])<>”http://”)
{
if (ereg(”^http://”, trim($row[7])))
echo ” <A HREF=’$row[7]‘TARGET=’_blank’><IMG SRC=’homepage.gif’ BORDER=0 ALT=”$row[3]’s homepage”></A>”;
else
echo ” <A HREF=’http://$row[7]‘ TARGET=’_blank’><IMG SRC=’homepage.gif’ BORDER=0 ALT=”$row[3]’s homepage”></A>”;
}
echo “</TD></TR>”;
echo “<TR><TD colSpan=2><b>$row[3] <IMG border=0 height=60
src=’user.gif’ width=61></img></TD><TR>”;
echo “<TR><TD colSpan=2>$row[4]</TD></TR>”;
echo “<TR><TD colSpan=2>Lokasi <b>: </b>$row[5]</TD></TR>”;
echo “</TBODY></TABLE></TD>”;
echo “<TD vAlign=top width=’68%’><DIV align=left><IMG height=9 src=’post.gif’ width=9>$row[2]“;
// if ($row[4] == “”)
// {
echo “ <A href=’mailto:$row[4]‘><IMG alt=’Kirim E-mail’ border=0 height=17 src=’email.gif’ width=43></A></DIV><HR SIZE=1>
<DIV align=left>$row[6]</DIV></TD>”;
// }
echo “<TD valign=’bottom’ align=’center’width=’15?>
<A HREF=’$PHP_SELF?do=del&id=$row[1]&page=$page’>
<IMG SRC=’del.gif’ ALT=’Hapus Komentar # $no’ border=0 align=’center’></A>
</TD>”;
echo “</td></tr>”;
} //–end if
} //–end for
//— Page Count Start
echo “<TR><TD colspan=3 bgcolor=’$table_bottom’ align=’center’ width=’600?><FONT SIZE=’1? FACE=’$font_face’>”;
if ($jml_page > 1) {
if ($page <> 1) echo “[<A HREF='$PHP_SELF?page=1'>Top</A>] “; else echo “[Top] “;
echo “Page # “;
if ($jml_page > 10) {
if ($page < 5) {
$start = 1;
$stop = 10;
} elseif ($jml_page – $page < 5) {
$start = $jml_page – 9;
$stop = $jml_page;
} else {
$start = $page-4;
$stop = $page+5;
}
if ($start <> 1) echo “… “;
for ($p=$start; $p<=$stop; $p++) {
if ($p == $page) echo “<FONT color=’$active_link’><B>$p</B></FONT> ”;
else echo “<A HREF=’$PHP_SELF?page=$p’>$p</A> ”;
}
if ($stop <> $jml_page) echo “… “;
echo “of $jml_page “;
} else {
for ($p=1; $p<=$jml_page; $p++) {
if ($p == $page) echo “<FONT color=’$active_link’><B>$p</B></FONT> ”;
else echo “<A HREF=’$PHP_SELF?page=$p’>$p</A> ”;
}
}
if ($page <> $jml_page) echo “[<A HREF='$PHP_SELF?page=$jml_page'>Bottom</A>]“; else echo “[bottom]“;
} else echo “Page #1 of 1?;
echo “</FONT></TD></TR>”;
//—Page Count End
?>
</TABLE>
<P align=”center”>
<a href=”http://www.my-ciebal.co.cc”><img src=”back.gif” alt=”BACK” width=”100? height=”60? border=”0?></a>
</CENTER>
</BODY>
</HTML>
<?
break;
case “add_form”:
?>
<!– Start Form —>
<html>
<head>
<title><?echo “$title”?></title>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1?>
</head>
<body bgcolor=”<?echo “$background”?>”>
<div align=”center”> <br>
<form method=”post” action=”<?echo “$PHP_SELF”?>”>
<input type=”hidden” name=”do” value=”add”>
<table width=”460? border=”0? cellspacing=”0? cellpadding=”0? bgcolor=”<?echo “$table_border”?>”>
<tr>
<td>
<div align=”center”>
<table width=”100%” border=”0? cellspacing=”1? cellpadding=”5?>
<tr>
<TD bgColor=#9999cc colSpan=2><B><FONT color=#ffffff
face=”Verdana, Arial, Helvetica, sans-serif” size=2>Isi Buku Tamu:</FONT></B></TD></tr>
<tr bgcolor=”<?echo “$table_content_1a”?>”>
<td width=”40?>
<div align=”left”><font face=”<?echo $font_face?>” size=”2?><IMG border=0 height=17 src=’nama.gif’ width=18></img> *Nama
: </font></div>
</td>
<td width=”72%”>
<input type=”text” name=”vname” size=”30? maxlength=”70?>
</td>
</tr>
<tr bgcolor=”<?echo “$table_content_1a”?>”>
<td width=”28%”>
<div align=”left”><font face=”<?echo $font_face?>” size=”2?><IMG border=0 height=17 src=’mail.gif’ width=18></img> Email (Sunnah)
: </font></div>
</td>
<td width=”72%”>
<input type=”text” name=”vemail” size=”30? maxlength=”100?>
</td>
</tr>
<tr bgcolor=”<?echo “$table_content_1a”?>”>
<td width=”28%”>
<div align=”left”><font face=”<?echo $font_face?>” size=”2?><IMG border=0 height=17 src=’home.gif’ width=18></img> Website
: </font></div>
</td>
<td width=”72%”>
<input type=”text” name=”vurl” size=”30? maxlength=”150? VALUE=”http://”>
</td>
</tr>
<tr bgcolor=”<?echo “$table_content_1a”?>”>
<td width=”28%”>
<div align=”left”><font face=”<?echo $font_face?>” size=”2?><IMG border=0 height=17 src=’location.gif’ width=18></img> *Lokasi
: </font></div>
</td>
<td width=”72%”>
<input type=”text” name=”vcountry” size=”30? maxlength=”100?>
</td>
</tr>
<tr bgcolor=”<?echo “$table_content_1a”?>”>
<td valign=”top” width=”28%”>
<div align=”left”><font face=”<?echo $font_face?>” size=”2?><IMG border=0 height=17 src=’message.gif’ width=18></img> *Komentar
: </font></div>
</td>
<td width=”72%”>
<textarea name=”vcomment” cols=”40? rows=”7? wrap=”VIRTUAL”></textarea><BR><font size=1 FACE=”<?echo $font_face?>”>* Wajib <img src=”wajib.gif”></font>
</td>
</tr>
<tr bgcolor=”<?echo “$table_content_1a”?>”>
<td colspan=”2?>
<div align=”center”><font face=”<?echo $font_face?>” size=”3?>
<font size=”2?>
<input type=”submit” value=”Kirim”>
<input type=”reset” value=”Hapus”>
<input type=”button” value=”Kembali” onClick=”window.location=’<?echo “$PHP_SELF?page=$page”?>’”>
</font></font></div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<!– End of entry form –>
<?
break;
case “add”:
if (!empty($_POST)) {
if (isset($_POST["vname"])) {
$vname = $_POST["vname"];
if (strlen($vname) > 70) $vname = substr($vname,0,70);
}
if (isset($_POST["vemail"])) {
$vemail = $_POST["vemail"];
if (strlen($vemail) > 100) $vemail = substr($vemail,0,100);
}
if (isset($_POST["vurl"])) {
$vurl = $_POST["vurl"];
if (strlen($vurl) > 150) $vurl = substr($vurl,0,150);
}
if (isset($_POST["vcountry"])) {
$vcountry = $_POST["vcountry"];
if (strlen($vcountry) > 50) $vcountry = substr($vcountry,0,50);
}
if (isset($_POST["vcomment"])) $vcomment = $_POST["vcomment"];
} else if (!empty($HTTP_POST_VARS)) {
if (isset($HTTP_POST_VARS["vname"])) {
$vname = $HTTP_POST_VARS["vname"];
if (strlen($vname) > 70) $vname = substr($vname,0,70);
}
if (isset($HTTP_POST_VARS["vemail"])) {
$vemail = $HTTP_POST_VARS["vemail"];
if (strlen($vemail) > 100) $vemail = substr($vemail,0,100);
}
if (isset($HTTP_POST_VARS["vurl"])) {
$vurl = $HTTP_POST_VARS["vurl"];
if (strlen($vurl) > 150) $vurl = substr($vurl,0,150);
}
if (isset($HTTP_POST_VARS["vcountry"])) {
$vcountry = $HTTP_POST_VARS["vcountry"];
if (strlen($vcountry) > 50) $vcountry = substr($vcountry,0,50);
}
if (isset($HTTP_POST_VARS["vcomment"])) $vcomment = $HTTP_POST_VARS["vcomment"];
}
if (trim($vname)==”" or trim($vcountry)==”" or trim($vcomment)==”") {
echo “<HTML><BODY bgcolor=’#ffffff’><H2>Error !</H2><FONT SIZE=2 FACE=’$font_face’>Kamu boleh mengosongkan form, silahkan klik <B><A HREF=’javascript:history.back()’>Di sini</A></B> dan coba lagi.</FONT></BODY></HTML>”;
exit;
}
if (trim($vemail)!=”" and !preg_match(”/([w.-]+)(@[w.-]+)(.[a-z]{2,4})+/i”, $vemail)) {
echo “<HTML><BODY bgcolor=’#ffffff’><H2>Error !</H2><FONT SIZE=2 FACE=’$font_face’>Email salah, silahkan klik <B><A HREF=’javascript:history.back()’>Di sini</A></B> dan coba lagi.</FONT></BODY></HTML>”;
exit;
}
if (trim($vurl) <> “”) {
if (strtolower(trim($vurl)) <> “http://”) {
if (!preg_match (”#^http://[_a-z0-9-]+.[_a-z0-9-]+#i”, $vurl)) {
echo “<HTML><BODY bgcolor=’#ffffff’><H2>Error !</H2><FONT SIZE=2 FACE=’$font_face’>URL Website salah, silahkan klik <B><A HREF=’javascript:history.back()’>Di sini</A></B> dan coba lagi</FONT></BODY></HTML>”;
exit;
}
}
}
$test_comment = explode(” “,$vcomment);
$jmltest = count($test_comment);
for ($t=0; $t<$jmltest; $t++) {
if (strlen(trim($test_comment[$t])) > 35) {
echo “<HTML><BODY bgcolor=’#ffffff’><H2>Error!</H2><FONT SIZE=2 FACE=’verdana’>Please don’t abuse my guestbook. Click <B><A HREF=’javascript:history.back()’>here</A></B> and try again.</FONT></BODY></HTML>”;
exit;
}
}
//–only 2000 characters allowed for comment
$maxchar = 2000;
if (strlen($vcomment) > $maxchar) $vcomment = substr($vcomment,0,$maxchar).”…”;
$idx = date(”YmdHis”);
$tgl = date(”F d, Y – h:i A”);
$vname = str_replace(”<”,”",$vname);
$vname = str_replace(”>”,”",$vname);
$vname = str_replace(”~”,”-”,$vname);
$vname = str_replace(”"”,”"”,$vname);
$vcomment = str_replace(”<”,”<”,$vcomment);
$vcomment = str_replace(”>”,”>”,$vcomment);
$vcomment = str_replace(”~”,”-”,$vcomment);
$vcomment = str_replace(”"”,”"”,$vcomment);
$vurl = str_replace(”<”,”",$vurl);
$vurl = str_replace(”>”,”",$vurl);
$vcomment = str_replace(”rn”,”<BR>”,$vcomment);
$vcomment = str_replace(”r”,”",$vcomment);
$vcomment = str_replace(”n”,”",$vcomment);
if (preg_match(”#<|>|”~#”,$vcountry)) exit;
if (preg_match(”/[^a-z ]/i”,$vcountry)) $vcountry = “…”;
$newdata = “|~~|$idx|~~|$tgl|~~|$vname|~~|$vemail|~~|$vcountry|~~|$vcomment|~~|$vurl|~~|n”;
$newdata = stripslashes($newdata);
$tambah = fopen($data_file,”a”);
fwrite($tambah,$newdata);
fclose($tambah);
echo “<HTML><META HTTP-EQUIV=’REFRESH’ CONTENT=’1; URL=$PHP_SELF’><BODY bgcolor=’#FFFFFF’><CENTER><H2>Terima kasih, masukan kamu telah ditambahkan.</H2>Mohon Tunggu…</CENTER></BODY></HTML>”;
break;
case “del”:
$record = file($data_file);
$jmlrec = count($record);
for ($i=0; $i<$jmlrec; $i++) {
$row = explode(”|~~|”,$record[$i]);
if ($id == $row[1]) {
echo ”
<HTML><TITLE>Delete record</TITLE>
<BODY bgcolor=’$background’>
<CENTER>
<FONT FACE=’$font_face’ SIZE=’4?>Delete Confirmation</FONT>
<BR><BR>
<TABLE border=0 cellpadding=5 cellspacing=1 width=450>
<TR>
<TD bgcolor=’$table_content_1a’>
<FONT SIZE=2 FACE=’$font_face’>
<FONT SIZE=’1?><B>$row[2]</FONT><BR>$row[3]</B> from $row[5]<BR><A HREF=’mailto:$row[4]‘>$row[4]</A><P>$row[6]
</FONT>
</TD>
</TR>
</TABLE>
“;
break;
}
}
echo “<FORM ACTION=’$PHP_SELF’ METHOD=’post’><FONT FACE=’$font_face’ SIZE=2><B>Admin password : </B></FONT><INPUT TYPE=’password’ NAME=’pwd’><INPUT TYPE=’hidden’ NAME=’do’ VALUE=’del2?><P><INPUT TYPE=’submit’ VALUE=’Delete this record’> <INPUT TYPE=’button’ VALUE=’Cancel’ onclick=”window.location=’$PHP_SELF?page=$page’”><INPUT TYPE=’hidden’ NAME=’id’ VALUE=’$id’><INPUT TYPE=’hidden’ NAME=’page’ VALUE=’$page’></FORM></CENTER></BODY></HTML>”;
break;
case “del2?:
if (isset($_POST["pwd"])) $pwd = $_POST["pwd"];
else if (isset($HTTP_POST_VARS["pwd"])) $pwd = $HTTP_POST_VARS["pwd"];
if (isset($_POST["id"])) $id = $_POST["id"];
else if (isset($HTTP_POST_VARS["id"])) $id = $HTTP_POST_VARS["id"];
if (isset($_POST["page"])) $page = $_POST["page"];
else if (isset($HTTP_POST_VARS["page"])) $page = $HTTP_POST_VARS["page"];
if ($pwd <> $admin_password) {
echo “<HTML><HEAD><META HTTP-EQUIV=’REFRESH’ CONTENT=’1; URL=$PHP_SELF?page=$page’></HEAD><BODY bgcolor=’#ffffff’><CENTER><H2>Password Admin salah !</H2>Mohon Tunggu</CENTER></BODY><HTML>”;
exit;
}
$record = file($data_file);
$jmlrec = count($record);
for ($i=0; $i<$jmlrec; $i++) {
$row = explode(”|~~|”,$record[$i]);
if ($id==$row[1]) {
$record[$i] = “”;
break;
}
}
$update_data = fopen($data_file,”w”);
for ($j=0; $j<$jmlrec; $j++) {
if ($record[$j] <> “”) fputs($update_data,$record[$j]);
}
fclose($update_data);
echo “<HTML><HEAD><META HTTP-EQUIV=’REFRESH’ CONTENT=’1; URL=$PHP_SELF?page=$page’></HEAD><BODY bgcolor=’#ffffff’><CENTER><H2>Catatan telah di hapus !</H2>Mohon Tunggu</CENTER></BODY><HTML>”;
break;
} //–end switch
?>
dah Jadi tuh index.php-nya, yang mesti lo modif cuma bagian
$admin_password = “site88″; nah lo ganti Password adminnya..
Password ini berguna untuk menghapus Comment..
![]()
Trus ganti “www.my-ciebal.co.cc” dengan URL website Lo..
Cari aja dengan menekan “CTRL+F”
Oke Lanjut, sekarang Lo buat File dengan nama “data.dat“..
Kosongkan saja file ini..
file ini berfungsi sebagai database guestbook kita..
Nah dah jadi kan file index.php dan data.dat..
Selanjutnya jangan lupa upload dalm satu folder, klo gak..
Yah gak akan jalan lah..
![]()
Oke skian dulu deh Tutornya, Semoga bermanfaat.. :wink:
Mohon Maaf klo bahsanya acak2an..
:smile:
Script bukan asli buatan saya, saya lupa dapet dari mana. ciebal hanya memodifikasi aja. ![]()



9 Comments pada “Membuat GuestBook untuk Website Kamu”
seo
Hello to all ! Greetings From Poland. very Good Page !
Waw, you come from poland..?

thankz for visiting my simpel site,,,
Cespleng tenan tutorialnya ….sayangnya aku masih o’on …ga dijelasin sich bikin index phpnya dm.. apa doword/notepad atau apa .. bagi yg awam cm bs ndomblong doank … lebih detail kang …thanks
dimana aja mas..

pke notepad juga bisa..
situs hack
akhirnya nih script kepake juga buat gebetan gue….
Xixixixi….
sedot sob……
silahkan…