Installationshinweis

Bevor Sie das Gästebuch einsetzen, legen Sie bitte eine leere Text-Datei Namens gbook.txt an. Diese muss sich im gleichen Ordner, wie die gbook.php befinden!

Versehen Sie diese Datei mit den Zugriffsrechten:

CHMOD 777

"; ?> zum Gästebuch

"; ############## Ende der Einstellungen ######################################### // Globale Variablen definieren $gbfile = "gbook.txt"; $datum = date("d.m.Y"); $zeit = date("H:i"); if (isset($_GET['show'])) $show = $_GET['show']; if (isset($_GET['id'])) $id = $_GET['id']; if (isset($_GET['pages'])) $pages = $_GET['pages']; if (isset($_GET['start'])) $start = $_GET['start']; if (isset($_GET['ende'])) $ende = $_GET['ende']; if (isset($_POST['pass'])) $pass = $_POST['pass']; global $show, $pages, $start, $ende, $pass, $id; // Seitenzahl berechnen if($show == "") { $file = file("$gbfile"); $anzahl = count($file); if($anzahl>$anzeige_pro_seite){ $ende=$anzeige_pro_seite;} else{ $ende=$anzahl;} $start=0; } // Gaestebuch anzeigen if($show == "" or $show == "cut") { $file = file("$gbfile"); $anzahl = count($file); echo "

$title1

"; echo "Gästebucheintrag"; // Eintraege zaehlen if($anzahl == 0) { echo "

Zur Zeit befinden sich keine Einträge im Gästebuch. Ihr Eintrag könnte der 1. sein.

"; } if($anzahl == 1) { echo "

Zur Zeit befindet sich 1 Eintrag im Gästebuch. Ihr Eintrag könnte der 2. sein.

"; } $next = $anzahl+1; if($anzahl > 1) { echo "

Zur Zeit befinden sich $anzahl Einträge im Gästebuch. Ihr Eintrag könnte der $next. sein.

"; } // Wenn ausreichend Themen, Seitenanzeige oben ausgeben if($anzahl>$anzeige_pro_seite) { $pages=ceil($anzahl/$anzeige_pro_seite); $startid=0; $endid=$anzeige_pro_seite; echo "
Seite: "; if($start == 0) { echo "1"; } else { echo" 1"; }} for($b=2;$b<$pages+1;$b++) { if($endid<$anzahl) { $startid+=$anzeige_pro_seite; $endid+=$anzeige_pro_seite; } if($endid>$anzahl) { $endid=$anzahl; } $c = ceil ($ende/($ende-$start)); if($c == $b or $endid == $ende) { echo " | $b"; } else { echo " | $b"; }} if($anzahl>$anzeige_pro_seite) { echo "
"; } echo "
"; // Daten auslesen for($a=$start;$a<$ende;$a++) { $split = explode("|",$file[$a]); echo "

Eintrag vom $split[6] um $split[7]

"; if(!empty ($split[2])) { echo "$split[1]
aus $split[2]
"; } else{ echo "$split[1]"; } echo "
"; $split[3] = wordwrap($split[3], 20, "\n", 1); $split[3] = stripcslashes($split[3]); echo "

$split[3]

"; if(!empty ($split[4])) { if(eregi("http://", "$split[4]")) { echo "\"Besuche"; } else { echo "\"Besuche"; } } if(!empty ($split[4]) && !empty ($split[5])) { echo " | "; } if(!empty ($split[5])) { echo "\"E-Mail"; } if(!empty ($split[4]) or !empty ($split[5])) { echo " | "; } ?> Seitenanfang

$anzeige_pro_seite) { $pages=ceil($anzahl/$anzeige_pro_seite); $startid=0; $endid=$anzeige_pro_seite; echo "
Seite: "; if($start == 0) { echo "1"; } else { echo" 1"; }} for($b=2;$b<$pages+1;$b++) { if($endid<$anzahl) { $startid+=$anzeige_pro_seite; $endid+=$anzeige_pro_seite; } if($endid>$anzahl) { $endid=$anzahl; } $c = ceil ($ende/($ende-$start)); if($c == $b or $endid == $ende) { echo " | $b"; } else { echo " | $b"; }} if($anzahl>$anzeige_pro_seite) { echo "

Gästebucheintrag

"; } echo ""; // Link zum Adminpanel echo "

\"admin\"

"; } // Formular anzeigen if($show == "write") { form(); } // Vorschaumodus if (isset($_POST['show'])) $show = $_POST['show']; if($show == "Vorschau") { echo "

Vorschau

"; if (isset($_POST['name'])) $name = $_POST['name']; if (isset($_POST['ort'])) $ort = $_POST['ort']; if (isset($_POST['text'])) $text = $_POST['text']; if (isset($_POST['home'])) $home = $_POST['home']; if (isset($_POST['mail'])) $mail = $_POST['mail']; // lange Texte kuerzen und trimmen $name = trim($name); $langname = strlen($name); if($langname > 15) { $cutname = substr($name, 0, 15); $kurzname = "$cutname..."; echo "

Ihr Name ist zu lang!

"; } else { $kurzname = $name; } $ort = trim($ort); $langort = strlen($ort); if($langort > 15) { $cutort = substr($ort, 0, 15); $kurzort = "$cutort..."; echo "

Ihr Ort ist zu lang!

"; } else { $kurzort = $ort; } $text = trim($text); $langtext = strlen($text); if($langtext > 500) { $cuttext = substr($text, 0, 500); $kurztext = "$cuttext..."; echo "

Ihr Text ist zu lang! Maximal 500 Zeichen...

"; } else { $kurztext = $text; } $br=chr(13).chr(10); // Sonderzeichen und Codes ersetzen $kurzname = htmlentities($kurzname); $kurzort = htmlentities($kurzort); $mail = trim($mail); $home = trim($home); $kurztext = strip_tags($kurztext); $kurztext = stripslashes($kurztext); $kurztext = wordwrap($kurztext, 20, "\n", 1); $kurztext = htmlentities($kurztext); $mail = str_replace("+","@",$mail); $kurztext = preg_replace('/(\s{4})\s+/', '\1', $kurztext); $kurztext = str_replace("$br","
",$kurztext); echo "

Eintrag vom $datum um $zeit

"; if(!empty ($kurzort)) { echo "$kurzname
aus $kurzort
"; } else{ echo "$kurzname"; } echo "
"; echo "

$kurztext

"; if(!empty ($home)) { if(eregi("http://", "$home")) { echo "\"Besuche"; } else { echo "\"Besuche"; } } if(!empty ($home) && !empty ($mail)) { echo " | "; } if(!empty ($mail)) { echo "\"E-Mail"; } if(!empty ($home) or !empty ($mail)) { echo " | "; } ?> Seitenanfang
Sie haben keinen Namen angegeben!"; $error = true; } if(eregi("http://", $name) or eregi("www.", $name) or eregi("url", $name)){ $error2 = "
  • Das Feld für den Namen enthält unerlaubten Code!
  • "; $error = true; } if(eregi("http://", $ort) or eregi("www.", $ort) or eregi("url", $ort)){ $error3 = "
  • Das Feld für den Wohnort enthält unerlaubten Code!
  • "; $error = true; } if(!eregi(".+@.+\..+", $mail)&& !empty($mail)){ $error4 = "
  • Ihre E-Mail-Adresse ist fehlerhaft! Sie können dieses Feld auch frei lassen.
  • "; $error = true; } if(!(strlen(trim($text)))){ $error5 = "
  • Sie haben keinen Text hinterlassen!
  • "; $error = true; } if(eregi("http://", $text) or eregi("www.", $text) or eregi("url", $text)){ $error6 = "
  • Das Textfeld enthält unerlaubten Code!
  • "; $error = true; } if($summant1+$summant2 != $result){ $error7 = "
  • Helfen Sie mit, das Gästebuch vor Spameinträgen zu schützen und lösen Sie die kleine Rechenaufgabe am Formularende!
  • "; $error = true; } if($error == true) { echo "

    Es ist ein Fehler aufgetreten

    Bitte überprüfen Sie nochmals Ihre Angaben!

      $error1$error2$error3$error4$error5$error6$error7
    "; form(); } else { // Wenn alles okay - Daten zum Speichern vorbereiten // lange Texte kuerzen und trimmen $name = trim($name); $langname = strlen($name); if($langname > 15) { $cutname = substr($name, 0, 15); $kurzname = "$cutname..."; } else { $kurzname = $name; } $ort = trim($ort); $langort = strlen($ort); if($langort > 15) { $cutort = substr($ort, 0, 15); $kurzort = "$cutort..."; } else { $kurzort = $ort; } $br=chr(13).chr(10); // Sonderzeichen und Codes ersetzen $kurzname = htmlentities($kurzname); $kurzname = str_replace("|",":",$kurzname); $kurzort = htmlentities($kurzort); $kurzort = str_replace("|",":",$kurzort); $mail = trim($mail); $mail = str_replace("|",":",$mail); $home = trim($home); $home = str_replace("|",":",$home); $text = strip_tags($text); $text = str_replace("|",":",$text); $text = stripslashes($text); $text = htmlentities($text); $text = preg_replace('/(\s{4})\s+/', '\1', $text); $text = str_replace("$br","
    ",$text); $file=file("$gbfile"); $fp=fopen("$gbfile","r"); $inhalt=fgets($fp,1000); $zeile=explode("|",$inhalt); $next=$zeile[0]+1; // Spamschutz - Reloadsperre $check = "gbook.txt"; $z = filesize($check); if ($z>0 && eregi("$kurzname",$zeile[1]) && (eregi("$text",$zeile[3]))){ echo "

    Fehlermeldung

    Dieser Eintrag existiert bereits. Speichern ist nicht möglich.

    $back
    "; } else { // schreiben $fp=fopen("$gbfile","w"); fputs($fp,"$next|$kurzname|$kurzort|$text|$home|$mail|$datum|$zeit|$br"); fclose($fp); $fp=fopen("$gbfile","a+"); $gesamt=count($file); for($i=0;$i<$gesamt;$i++) { fputs($fp,"$file[$i]"); } fclose($fp); // Dankedialog zeigen und Backlink setzen echo"

    Vielen Dank für Ihren Beitrag!

    Es hat geklappt, Ihre Daten wurden erfolgreich gespeichert.


    $back"; // E-Mail an den Webmaster verschicken if($mailinfo == "ja") { $betreff = "Gaestebucheintrag"; $body = "Es wurde ein Eintrag in Ihrem Gaestebuch hinterlassen:\n Name: $kurzname Nachricht: $text"; mail("$webmaster","$betreff","$body\n"); } } } } // Adminpanel if($show == "admin") { echo "

    Passwortabfrage

    $back"; echo "
    "; echo " "; echo "
    "; } // Falsches Passwort if($show == "ok" && $pass != $passwort) { echo "

    Passwortabfrage

    $back"; echo "

    Sorry, falsches Passwort!

    "; echo "
    "; echo " "; echo "
    "; } // Passwort okay else if($show == "ok" && $pass == $passwort) { echo "

    Adminpanel

    $back"; echo " "; $admin = file("$gbfile"); $nr = count($admin); for($c=0;$c<$nr;$c++) { $expl = explode("|",$admin[$c]); // Text kuerzen $expl[3] = stripcslashes($expl[3]); $lang = strlen($expl[3]); $cut = substr($expl[3], 0, 70); if($lang > 70) { $kurz = "$cut..."; } else { $kurz = "$expl[3]"; } // Daten ausgeben echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
    Id Datum Autor Text (gekürzt) Aktion
    $expl[0]$expl[6] $expl[7]$expl[1]$kurz"; ?>
    " method="post"> " type="hidden" />
    "; } // Eintraege loeschen if($show=="delete") { $file=file($gbfile); $a=0; foreach($file as $zeile) { $y=explode("|",$zeile); if($y[0]==$id) { unset($file[$a]); $new=fopen("$gbfile","w"); fputs($new,implode("",$file)); fclose($new); } $a++; } // Erfolgsmeldung echo"

    Der Eintrag wurde erfolgreich gelöscht!

    "; ?>
    " method="post"> " type="hidden" />
    "; } // Funktion Eintragsformular function form () { if (isset($_POST['show'])) $show = $_POST['show']; if (isset($_POST['name'])) $name = $_POST['name']; if (isset($_POST['ort'])) $ort = $_POST['ort']; if (isset($_POST['text'])) $text = $_POST['text']; if (isset($_POST['home'])) $home = $_POST['home']; if (isset($_POST['mail'])) $mail = $_POST['mail']; if (isset($_POST['summant1'])) $summant1 = $_POST['summant1']; if (isset($_POST['summant2'])) $summant2 = $_POST['summant2']; if (isset($_POST['result'])) $result = $_POST['result']; global $show, $ende, $pass, $name, $ort, $text, $home, $mail, $summant1, $summant2, $result, $title2, $back, $index; $summant1 = rand(1,10); $summant2 = rand(1,10); echo "

    $title2

    $back"; echo "

    * Freiwillige Angabe

    "; echo "
    Angaben zum Absender"; echo "





    "; echo "
    "; $text=str_replace("
    ","\n","$text"); echo "
    Message


    Daten senden

    Sind Sie ein Mensch?

    Bitte helfen Sie uns, das Gästebuch vor Spameinträgen zu schützen und lösen diese kleine Rechenaufgabe. Diese Maßnahme soll maschinelle Masseneinträge verhindern. Vielen Dank für Ihr Verständnis!

    $summant1 + $summant2 = ?
    "; echo "

    "; echo "

    * freiwillige Angabe

    "; } ?>

    Valid XHTML 1.0 Transitional