Ja daar zijn we weer met dat fjkasdlfjlsdkafj gastenboek.. Het is de bedoeling dat ik een mailtje krijg als iemand mijn gastenboek tekent.. maar dat gebeurt niet.. ook niet spam of junk.. dus moet in script zitten. iemand idee? Heb mijn adres ingevuld..maar weet verder niet wat ik nog meer moet aanpassen om het te laten werken..
PHP:
<?
/*-----------------------------------------------------
COPYRIGHT NOTICE
Copyright (c) 2001 - 2006, Ketut Aryadana
All Rights Reserved
Script name : ArdGuest
Version : 1.8
Website : http://www.promosi-web.com/script/guestbook/
Email :
Download URL :
- http://www.promosi-web.com/script/guestbook/download/
- http://www.9sites.net/download/ardguest_1.8.zip
This code is provided As Is with no warranty expressed or implied.
I am not liable for anything that results from your use this code.
------------------------------------------------------*/
//--Change the following variables
//Title your guestbook
$title = "";
//Change "admin" with your own password. It's required when you delete an entry
$admin_password = "timmermans";
//Enter your email here
$admin_email = "allardallard@hotmail.com";
//Your website URL
$home = "http://allard.freehostia.com/";
//Send you an email when someone add your guestbook, YES or NO
$notify = "YES";
//Your Operating System
//For Windows/NT user : WIN
//For Linux/Unix user : UNIX
$os = "WIN";
//Maximum entry per page when you view your guestbook
$max_entry_per_page = 20;
//Name file used to store your entry, change it if necessary
$data_file = "ardgb18.dat";
//Maximum entry stored in data file
$max_record_in_data_file = 300;
//Maximum entries allowed per session, to prevent multiple entries made by one visitor
$max_entry_per_session = 2;
//Enable Image verification code, set the value to NO if your web server doesn't support GD lib
$imgcode = "NO";
//Color & font setting
$background = "#ffffff";
$table_top = "#ff9900";
$table_content_1a = "#ffffff";
$table_content_1b = "#ffffff";
$table_content_1c = "#000000";
$table_content_2a = "#ffffff";
$table_content_2b = "#ffffff";
$table_content_2c = "#000000";
$table_bottom = "#ffffff";
$table_border = "#ffffff";
$title_color = "#333333";
$link = "#333333";
$allard = "#ffffff";
$visited_link = "#333333";
$active_link = "#333333";
$font_face = "arial";
$message_font_face = "arial";
$message_font_size = "13px";
//-- Don't change bellow this line unless you know what you're doing
$do = isset($_REQUEST['do']) ? trim($_REQUEST['do']) : "";
$id = isset($_GET['id']) ? trim($_GET['id']) : "";
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$self = $_SERVER['PHP_SELF'];
if (!file_exists($data_file)) {
echo "<b>Error !!</b> Can't find data file : $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");
if (strtoupper($os) == "UNIX") {
if (flock($rf,LOCK_EX)) {
for ($i=0; $i<$max_record_in_data_file; $i++) {
fwrite($rf,$f[$i]);
}
flock($rf,LOCK_UN);
}
} else {
for ($i=0; $i<$max_record_in_data_file; $i++) {
fwrite($rf,$f[$i]);
}
}
fclose($rf);
}
}
}
session_start();
$newline = (strtoupper($os) == "WIN") ? "\r\n" : "\n";
switch ($do) {
case "":
$record = file($data_file);
rsort($record);
$jmlrec = count($record);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title><?=$title?></title>
<link rel="stylesheet" type="text/css"
href="style.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
color: #333333;
margin-left: 13px;
scrollbar-face-color: ffffff;
scrollbar-highlight-color: ffffff;
scrollbar-3dlight-color: ffffff;
scrollbar-darkshadow-color: ffffff;
scrollbar-shadow-color: cccccc;
scrollbar-arrow-color: 999999;
scrollbar-track-color: ffffff;
}
A { text-decoration:none }
body {
background-color: #FFFFFF;
background:#ffffff;
scrollbar-face-color: ffffff;
scrollbar-highlight-color: ffffff;
scrollbar-3dlight-color: ffffff;
scrollbar-darkshadow-color: ffffff;
scrollbar-shadow-color: cccccc;
scrollbar-arrow-color: 999999;
scrollbar-track-color: ffffff;
overflow-x: hidden;
}
.zwart {
font-size:13px;
color:#ffffff;
height:13px;
text-align:right;
background:#000000;
text-transform:uppercase;
letter-spacing:0em;
padding-top: 0px;
padding-right: 3px;
padding-bottom: 0px;
padding-left: 0px;
font-weight: 800;
border:1px solid #999999;
}
.oranje {
font-size:13px;
color:#333333;
height:13px;
text-align:center;
background:#ffffff;
text-transform:uppercase;
letter-spacing:0em;
padding-top: 0px;
padding-right: 3px;
padding-bottom: 0px;
padding-left: 0px;
font-weight: 800;
border:1px solid #000000;
}
.wit {
font-size:10px;
color:#ff9900;
height:11px;
text-align:left;
background:#ffffff;
text-transform:uppercase;
letter-spacing:.2em;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
border-left: solid red 0;
}
-->
</style></head>
<body link="<?=$link?>" vlink="<?=$visited_link?>" alink="<?=$active_link?>" topmargin="0" marginheight="0" style="font-family:<?=$font_face?>">
<font style="font-size:13px; color:#333333" face="Arial, Helvetica, sans-serif"> Wil je graag een bericht achter laten kan dat via dit gastenboek. Gewoon op de aangegeven link klikken en de rest wijst zich van zelf uit. Mocht het niet in 1 keer lukken probeer het dan nogmaals.<a href="mailto:allardallard@hotmail.com"> <img src="imgs/icon_mail10.gif" border="0"></a> kan natuurlijk ook. <br><center><strong><a href="<?="$self?do=add_form&page=$page"?>">Klik hier om het gastenboek te tekenen </a></strong></center></font>
<table width="420" cellpadding="2" cellspacing="1" border="0">
<tr bgcolor="<?=$table_border?>">
<td width="420">
<table width="100%" height="28" border="0" cellpadding="2" cellspacing="5">
<?
$jml_page = ceil($jmlrec/$max_entry_per_page);
$nomrec = $page * $max_entry_per_page - $max_entry_per_page;
$no = $jmlrec +1;
//$no = ($jmlrec - $page * $max_entry_per_page) + $max_entry_per_page + 1;
if ($jmlrec == 0) {
echo '<tr><td colspan="3" bgcolor="#FFE1E1" align="center"><font size="3">There are no entries yet.</font></td></tr>';
}
$w = 0; //--Color
for ($i=0; $i<$max_entry_per_page; $i++) {
$nomrec++;
$no--;
//$no--;
$recno = $nomrec-1;
if (isset($record[$recno])) {
$row = explode("|~|",$record[$recno]);
if ($w==0) {
$warna = $table_content_1a;
$warna2 = $table_content_1b;
$warna3 = $table_content_1c;
$w=1;
} else {
$warna = $table_content_2a;
$warna2 = $table_content_2b;
$warna3 = $table_content_2c;
$w=0;
}
echo '<tr>
<td bgcolor="'. $warna .'" width="500">
<table bgcolor="'. $warna2 .'" border="0" height="5" width="100%">
<!--het kader waarin datum en naam staan -->
<tr>
<td>
<div class="wit"> <font style="font-size:10px;">'. $row[2] .'</font>
<a href="'. $self .'?do=del&id='. $row[1] .'&page='. $page .'">
<img src="imgs/icon_delete10.gif" alt="Delete entry # '. $no .'" border="0">
</a>
';
if (trim($row[4]) != "") {
echo '<a href="mailto:'. $row[4] .'"><img src="imgs/icon_mail10.gif" border="0" alt="'. $row[4] .'"></a>';
}
if (trim($row[6]) != "" && trim($row[6]) != "http://") {
if (ereg("^http://", trim($row[6]))) {
echo '<a href="'. $row[6] .'" target="_blank"><img src="imgs/icon_homepage10.gif" border="0" alt="'. $row[6] .'"></a>';
} else {
echo '<a href="http://'. $row[6] .'" target="_blank"><img src="imgs/icon_homepage10.gif" border="0" alt="'. $row[6] .'"></a>';
}
}
echo '
</div>
<div class="zwart">
<font style="font-size:13px; color: #cccccc; float:left;"><b>'. $no .'</b></font>
<b>'. $row[3] .'</b>
</div>
</td>
</tr>
</table>';
echo "<table border=\"0\" width=\"100%\">
<tr>
<td><font size=\"1\" face=\"$message_font_face\" size=\"$message_font_size\">".stripslashes($row[5])."</font>
</td></tr>
</table> <!--post text hierboven -->
";
echo '</td>';
echo "</tr>";
} //--end if
} //--end for
echo "<tr><td colspan=\"3\" bgcolor=\"$table_bottom\" align=\"center\" width=\"600\"><font size=\"1\">";
if ($jml_page > 1) {
if ($page != 1) echo "[<a href=\"$self?page=1\">Begin</a>] "; else echo '[Begin] ';
echo 'Pagina ';
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=\"$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=\"$visited_link\"><b>$p</b></font> ";
else echo "<a href=\"$self?page=$p\">$p</a> ";
}
}
if ($page != $jml_page) echo "[<a href=\"$self?page=$jml_page\">Eind</a>]";
else echo '[Eind]';
} else echo 'Pagina #1 van 1';
echo '</font></td></tr>';
?>
</table>
</td>
</tr>
</table>
<br>
<!-- Please don't remove this copyright notice.--><!-- Thank you -->
</body>
</html>
<?
break;
case "add_form":
$_SESSION['secc'] = strtoupper(substr(sha1(time().$admin_email),0,4));
if (!isset($_SESSION['add'])) $_SESSION['add'] = 0;
if (!isset($_SESSION['name'])) $_SESSION['name'] = "";
if (!isset($_SESSION['email'])) $_SESSION['email'] = "";
if (!isset($_SESSION['url'])) $_SESSION['url'] = "http://";
if (!isset($_SESSION['comment'])) $_SESSION['comment'] = "";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title><?=$title?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<font style="font-size:13px; color:#333333" face="Arial, Helvetica, sans-serif">Spuug hier je gal en laat het me weten. Wel netjes houden, anders wis ik je gewoon. Mocht je zelf ook een site hebben (Hyves bijvoorbeeld), kan je deze hier ook invullen.</font><BR>
<br>
<form method="post" action="<?=$self?>">
<input type="hidden" name="do" value="add">
<table width="300" border="0" cellspacing="0" cellpadding="2" bgcolor="<?=$table_border?>">
<tr>
<td>
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="<?=$table_content_1a?>">
<td width="28%">
<div align="right"><font size="-2"><img src="../img/naam.gif"></font></div>
</td>
<td width="72%">
<input type="text" name="vname" size="30" maxlength="70" value="<?=$_SESSION['name']?>">
</td>
</tr>
<tr bgcolor="<?=$table_content_1a?>">
<td width="28%">
<div align="right"><font size="-2"><img src="../img/email.gif"></font></div>
</td>
<td width="72%">
<input type="text" name="vemail" size="30" maxlength="100" value="<?=$_SESSION['email']?>">
</td>
</tr>
<tr bgcolor="<?=$table_content_1a?>">
<td width="28%">
<div align="right"><font size="-2"><img src="../img/website.gif"></font></div>
</td>
<td width="72%">
<input type="text" name="vurl" size="30" maxlength="150" value="<?=$_SESSION['url']?>">
</td>
</tr>
<tr bgcolor="<?=$table_content_1a?>">
<td valign="top" width="28%">
<div align="right"><font size="-2"><img src="../img/comment.gif"></font></div>
</td>
<td width="72%">
<textarea name="vcomment" cols="30" rows="6" wrap="virtual"><?=$_SESSION['comment']?></textarea>
<!-- hierboven bij colums pas je grootte van het textveld aan -->
<br><font style="font-size:10px; color:#333333" face="Arial, Helvetica, sans-serif">* Verplicht veld</font>
</td>
</tr>
<?if (strtoupper($imgcode) == "YES") {?>
<tr bgcolor="<?=$table_content_1a?>">
<td width="28%">
<div align="right"><font size="-2">Verification Code :</font></div>
</td>
<td width="72%">
<font size="-1">Please retype this code below :</font>
<img src="image.php?<?=time()?>" border="1"><br>
<input type="text" name="vsecc" size="4" maxlength="4">
</td>
</tr>
<?}?>
<tr bgcolor="<?=$table_content_1b?>">
<td colspan="2">
<div align="center">
<font size="-2">
<input type="submit" value="Submit">
<input type="reset" value="Reset">
<input type="button" value="Back" onClick="window.location='<?="$self?page=$page"?>'">
</font>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<!-- End of entry form -->
<?
break;
case "add":
$vname = isset($_POST['vname']) ? trim($_POST['vname']) : "";
$vemail = isset($_POST['vemail']) ? trim($_POST['vemail']) : "";
$vurl = isset($_POST['vurl']) ? trim($_POST['vurl']) : "";
$vcomment = isset($_POST['vcomment']) ? trim($_POST['vcomment']) : "";
$vsecc = isset($_POST['vsecc']) ? strtoupper($_POST['vsecc']) : "";
if (strlen($vname) > 70) $vname = substr($vname,0,70);
if (strlen($vemail) > 100) $vemail = substr($vemail,0,100);
if (strlen($vurl) > 150) $vurl = substr($vurl,0,150);
$_SESSION['name'] = $vname;
$_SESSION['email'] = $vemail;
$_SESSION['url'] = $vurl;
$_SESSION['comment'] = stripslashes($vcomment);
if ($vname == "" || $vcomment == "") {
input_err("Je hebt niet alles ingevuld");
}
if ($vemail != "" && !preg_match("/([\w\.\-]+)(\@[\w\.\-]+)(\.[a-z]{2,4})+/i", $vemail)) {
input_err("Geen geldig email ");
}
if ($vurl != "" && strtolower($vurl) != "http://") {
if (!preg_match ("#^http://[_a-z0-9-]+\\.[_a-z0-9-]+#i", $vurl)) {
input_err("Geen geldig www adres");
}
}
$test_comment = preg_split("/[\s]+/",$vcomment);
$jmltest = count($test_comment);
for ($t=0; $t<$jmltest; $t++) {
if (strlen(trim($test_comment[$t])) > 70) {
input_err("Invalid word found on your entry : ".stripslashes($test_comment[$t]));
}
}
if (isset($_SESSION['add']) && $_SESSION['add'] >= $max_entry_per_session) {
input_err("Sorry, only $max_entry_per_session message(s) allowed per session.",false);
} elseif (!isset($_SESSION['add'])) {
exit;
}
if ($vsecc != $_SESSION['secc'] && strtoupper($imgcode) == "YES") {
input_err("Invalid verification code");
}
//--only 2000 characters allowed for comment, change this value if necessary
$maxchar = 2000;
if (strlen($vcomment) > $maxchar) $vcomment = substr($vcomment,0,$maxchar)."...";
$idx = date("YmdHis");
$tgl = date("d F Y");
$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);
$vurl = str_replace("|","",$vurl);
$vemail = str_replace("<","",$vemail);
$vemail = str_replace(">","",$vemail);
$vemail = str_replace("|","",$vemail);
if (strtoupper($os) == "WIN") {
$vcomment = str_replace($newline,"<br>",$vcomment);
$vcomment = str_replace("\r","",$vcomment);
$vcomment = str_replace("\n","",$vcomment);
} else {
$vcomment = str_replace($newline,"<br>",$vcomment);
$vcomment = str_replace("\r","",$vcomment);
}
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && eregi("^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$",$_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ipnum = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ipnum = getenv("REMOTE_ADDR");
}
$newdata = "|~|$idx|~|$tgl|~|$vname|~|$vemail|~|$vcomment|~|$vurl|~|$ipnum|~|";
$newdata = stripslashes($newdata);
$newdata .= $newline;
if (!is_spam($newdata)) {
$tambah = fopen($data_file,"a");
if (strtoupper($os)=="UNIX") {
if (flock($tambah,LOCK_EX)) {
fwrite($tambah,$newdata);
flock($tambah,LOCK_UN);
}
} else {
fwrite($tambah,$newdata);
}
fclose($tambah);
//--send mail
if (strtoupper($notify) == "YES") {
$msgtitle = "Someone signed your guestbook";
$vcomment = str_replace(""","\"",$vcomment);
$vcomment = stripslashes($vcomment);
$vcomment = str_replace("<br>","\n",$vcomment);
$msgcontent = "Local time : $tgl\n\nThe addition from $vname :\n----------------------------\n\n$vcomment\n\n-----End Message-----";
@mail($admin_email,$msgtitle,$msgcontent,"From: $vemail\n");
}
//--clear session
$_SESSION['name'] = "";
$_SESSION['email'] = "";
$_SESSION['url'] = "http://";
$_SESSION['comment'] = "";
$_SESSION['add']++;
$_SESSION['secc'] = "";
redir($self,"Thank you, your entry has been added.");
} else {
redir($self,"Sorry, your entry can't be added into the guestbook.");
}
break;
case "del":
$record = file($data_file);
$jmlrec = count($record);
for ($i=0; $i<$jmlrec; $i++) {
$row = explode("|~|",$record[$i]);
if ($id == $row[1]) {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Delete record</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="<?=$background?>" style="font-family:<?=$font_face?>">
<center>
<font size="-2" color="<?=$title_color?>">Delete Confirmation</font>
<br><br>
<table border="0" cellpadding="0" cellspacing="1" width="450">
<tr>
<td bgcolor="<?=$table_top?>">
<font size="-2">
<font size="-2"><b><?=$row[2]?></font><br><?=$row[3]?></b> - <a href="mailto:<?=$row[4]?>"><?=$row[4]?></a>
<br><br><?=$row[5]?>
<br><br><font size="-2">IP : <?=$row[7]?></font>
</font>
</td>
</tr>
</table>
<form action="<?=$self?>" method="post">
<input type="hidden" name="do" value="del2">
<input type="hidden" name="id" value="<?=$id?>">
<input type="hidden" name="page" value="<?=$page?>">
<font color="<?=$title_color?>" size="2"><b>Admin password : </b></font> <input type="password" name="pwd">
<br><br>
<font size="-2" color="<?=$title_color?>"><b>»</b><input type="checkbox" name="byip" value="<?=$row[7]?>"> Delete all records that using this IP : <?=$row[7]?></font>
<br><br>
<input type="submit" value="Delete"> <input type="button" value="Cancel" onClick="window.location='<?="$self?page=$page"?>'">
</form>
</center>
</body>
</html>
<?
}
}
break;
case "del2":
$pwd = isset($_POST['pwd']) ? trim($_POST['pwd']) : "";
$id = isset($_POST['id']) ? trim($_POST['id']) : "";
$page = isset($_POST['page']) ? $_POST['page'] : 1;
$byip = isset($_POST['byip']) ? $_POST['byip'] : "";
if ($pwd != $admin_password) {
redir("$self?page=$page","Invalid admin password !");
}
$record = file($data_file);
$jmlrec = count($record);
for ($i=0; $i<$jmlrec; $i++) {
$row = explode("|~|",$record[$i]);
if ($byip == "") {
if ($row[1] == $id) {
$record[$i] = "";
break;
}
} else {
if ($row[7] == $byip) {
$record[$i] = "";
}
}
}
$update_data = fopen($data_file,"w");
if (strtoupper($os) == "UNIX") {
if (flock($update_data,LOCK_EX)) {
for ($j=0; $j<$jmlrec; $j++) {
if ($record[$j] != "") {
fputs($update_data,$record[$j]);
}
}
flock($update_data,LOCK_UN);
}
} else {
for ($j=0; $j<$jmlrec; $j++) {
if ($record[$j] != "") {
fputs($update_data,$record[$j]);
}
}
}
fclose($update_data);
redir("$self?page=$page","Record has been deleted !");
break;
} //--end switch
function redir($target,$msg) {
global $background,$font_face,$title_color;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="refresh" content="1; url=<?=$target?>">
</head>
<body bgcolor="<?=$background?>">
<center><font color="<?=$title_color?>" face="<?=$font_face?>"><h3><?=$msg?></h3>Please wait...</font></center>
</body>
</html>
<?
exit;
}
function input_err($err_msg,$linkback=true) {
global $background,$font_face;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Error !</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="<?=$background?>">
<center>
<br>
<table border="1" bgcolor="#000000" cellspacing="0" cellpadding="2">
<tr>
<td bgcolor="#cccccc" align="center">
<font size="-2" color="#000000" face="<?=$font_face?>"><b><?=$err_msg?></b><br>
<?if ($linkback) {?>
<font style="font-size:10px; color:#333333" face="Arial, Helvetica, sans-serif">Klik <a href="javascript:history.back()">hier</a> en probeer nogmaals.</font>
<?}?>
</font>
</td>
</tr>
</table>
</center>
</body>
</html>
<?
exit;
}
function is_spam($string) {
$data = "spamwords.dat";
$is_spam = false;
if (file_exists($data)) {
$spamword = file($data);
$jmlrec = count($spamword);
for ($i=0; $i<$jmlrec; $i++) {
$spamword[$i] = trim($spamword[$i]);
if (eregi($spamword[$i],$string)) {
$is_spam = true;
break;
}
}
}
return $is_spam;
}
?>