Beneath is the php code of the guestbook.
It stores all the entries in a text file. Like I said, it works fine. And it even says in the script that you can prevent SPAM.
But I tried some things, but it didn't work.
Help me out here. What should I add or change and where?
Code: Select all
<?php
############################################################
# Doika guestbook version 2.6a
# Copyright (C) 2001 Doika.net
# http://doika.net webmaster@doika.net
# All Rights reserved
# Freeware
############################################################
# Configure
session_start();
$gb_name = "MIRACLE"; // Guestbook name
$gb_data = "data.txt"; // File (path not URL) where data stored, chmod 666
$gb_psswd = "*******"; // Admin password
$gb_mail = ""; // Your email, only neaded if private messages are enabled
include("languages/english.inc.php"); // Path (not URL) to language file
# include("languages/french.inc.php");
# include("languages/finnish.inc.php");
# include("languages/swedish.inc.php");
# include("languages/dutch.inc.php");
# include("languages/german.inc.php");
# include("languages/russian.inc.php");
# include("languages/latvian.inc.php");
# include("languages/lithuania.inc.php");
# include("languages/italian.inc.php");
# include("languages/spanish.inc.php");
# include("languages/polish.inc.php");
# include("languages/polish2.inc.php");
# include("languages/greek.inc.php");
# include("languages/turkish.inc.php");
# include("languages/czech.inc.php");
# include("languages/norwegian.inc.php");
# include("languages/portugues_brasil.inc.php");
# include("languages/chinese_traditional.inc.php");
# include("languages/chinese_traditional2.inc.php");
# include("languages/chinese_simplified.inc.php");
// Features: true = enabled, false = disabled
$gb_flthtml = true; // Html code filter (recomended: true)
$gb_url2lnk = true; // Convert url:s to links in message
$gb_smiley = true; // Smileys
$gb_fltbdwrd = true; // Badword filter
$gb_privmsg = false; // Privated messages
$gb_fltspam = true; // Spam filter
$gb_msgpg = 10; // Messages per page
$gb_lngwrd = 35; // Max word length
$gb_lngmsg = 1000; // Max message length
# Don't change anything below here unless you know what you're doing
############################################################
# Functions
function flt_tags ($text, $html){
if ($html) {
$text = strip_tags($text);
$text = htmlspecialchars($text);}
$text = ereg_replace("\|", "", $text);
$text = ereg_replace("\r", "", $text);
$text = ereg_replace("\n", "<br> ", $text);
$text = stripslashes($text);
$text = trim($text);
return $text;
}
function flt_bdwrd ($text, $badwords){
foreach ($badwords as $badword){
$text = str_replace ($badword, "***", $text);}
return $text;
}
function flt_smiley ($text){
$text = ereg_replace(" ", " <img src=\"images/sm01.gif\" width=\"15\" height=\"15\" alt=\":)\" border=\"0\">", $text);
$text = ereg_replace(" ", " <img src=\"images/sm02.gif\" width=\"15\" height=\"15\" alt=\":D\" border=\"0\">", $text);
$text = ereg_replace(" ", " <img src=\"images/sm03.gif\" width=\"15\" height=\"15\" alt=\"8)\" border=\"0\">", $text);
$text = ereg_replace(" ", " <img src=\"images/sm04.gif\" width=\"15\" height=\"15\" alt=\";)\" border=\"0\">", $text);
$text = ereg_replace(" ", " <img src=\"images/sm05.gif\" width=\"15\" height=\"15\" alt=\":P\" border=\"0\">", $text);
$text = ereg_replace(" ", " <img src=\"images/sm06.gif\" width=\"15\" height=\"15\" alt=\":o\" border=\"0\">", $text);
$text = ereg_replace(" :\(", " <img src=\"images/sm07.gif\" width=\"15\" height=\"15\" alt=\":(\" border=\"0\">", $text);
return $text;
}
function test_lngwrd ($text, $lng){
$test = explode(" ", $text);
foreach ($test as $word){
if (strlen($word) > $lng){$tmp = true;}}
if ($tmp){return $tmp;}
}
function test_lngmsg ($text, $lng){
if (strlen($text) > $lng){$tmp = true;}
if ($tmp){return $tmp;}
}
function test_email($email){
if (eregi("^([a-z]|[0-9]|\.|-|_)+@([a-z]|[0-9]|\.|-|_)+\.([a-z]|[0-9]){2,3}$", $email, $arr_vars) &&
!eregi("(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)", $email, $arr_vars)){
return true;}
else {return false;}
}
############################################################
# Main code
if($action == "msgnew"){
if ($spam && $gb_fltspam){$msg_txt = $lgerr[4]; $msg_cap = $lgerr[0]; $id="message";} else {
if($name & $message){
$name = flt_tags ($name,1);
$email = flt_tags ($email,1);
$page = flt_tags ($page,1);
$message = flt_tags ($message,$gb_flthtml);
$index = date("YmdHis",time());
$day = date("d.m.Y",time());
$time = date("H:i",time());
if (test_lngwrd($message,$gb_lngwrd)){$msg_txt = $lgerr[1]; $msg_cap = $lgerr[0]; $id="message";}
elseif (test_lngmsg($message,$gb_lngmsg)){$msg_txt = $lgerr[2]; $msg_cap = $lgerr[0]; $id="message";}
elseif ($private) {
$mail_msg =
"---------------------------------------------------------------\n".
"The folowning information was submitted on\n".
"$day $time\n".
"---------------------------------------------------------------\n".
"Name: $name\n".
"Email: $email\n".
"URL: $page\n".
"Message: $message.\n".
"---------------------------------------------------------------\n".
"Remote host: $REMOTE_HOST \n".
"Remote address: $REMOTE_ADDR \n".
"User Agent: $HTTP_USER_AGENT \n".
"---------------------------------------------------------------\n";
mail($gb_mail, "Private guestbook message", $mail_msg, "From: $name <$email>");
$msg_txt = $lgpri[1]; $msg_cap = $lgpri[0]; $id="message";
session_register("spam");
$spam = true;
}
else {
$data = fopen($gb_data, "a");
fwrite($data, "$index|$day|$time|$REMOTE_ADDR|$HTTP_USER_AGENT|$name|$email|$page|$message|||\r\n");
fclose($data);
session_register("spam");
$spam = true;
}
}
else{$msg_txt = $lgerr[3]; $msg_cap = $lgerr[0]; $id = "message";}
}
}
if($action == "logon"){
if ($password == $gb_psswd){
session_register("psswd");
$psswd = $password;
}
else {$msg_txt = $lgerr[5]; $msg_cap = $lgerr[0]; $id="message";}
}
if($msgdelete || $msgdelete == "0" ){
if ($psswd == $gb_psswd){
$data = file($gb_data);
rsort ($data);
unset($data[$msgdelete]);
$fp = fopen($gb_data,"w");
foreach ($data as $row){fputs($fp, $row);}
fclose($fp);
}
else{$msg_txt = $lgerr[6]; $msg_cap = $lgerr[0]; $id="message";}
}
if($msgedit || $msgedit == "0" ){
if ($psswd == $gb_psswd){
$id = "edit";
}
else{$msg_txt = $lgerr[7]; $msg_cap = $lgerr[0]; $id="message";}
}
if($msgreplace){
if ($psswd == $gb_psswd){
$data = file($gb_data);
rsort ($data);
$message = flt_tags ($message,$gb_flthtml);
$comment = flt_tags ($comment,0);
$data[$num] = "$index|$day|$time|$ip|$browser|$name|$email|$page|$message|$comment|0\r\n";
$fp = fopen($gb_data,"w");
foreach ($data as $row){fputs($fp, $row);}
fclose($fp);
}
else{$msg_txt = $lgerr[6]; $msg_cap = $lgerr[0]; $id="message";}
}
############################################################
# HTML code
?>
Please, add the code and show the whole file again in total!
Of course if you want to help me out. I can understand you have better things to do than helping some sucker that isn't capable of doing it himself.

I'm just lost here...
John...