include("var.inc.php");
$conn = @mysql_connect($server, $user, $pass);
if($conn) {
mysql_select_db($dbase, $conn);
}else {
die("Verbindung zur Datenbank ist zur Zeit nicht möglich!");
}
//Gästebucheintrag hinzufügen
if ( isset($argv[0]) AND $argv[0] == "add") :
?>
//******** Beginn Emailversand und Eintrag in die Datenbank ****************/
// Im Eintrags-Formular befindet sich ein verstecktes Feld mit Namen cmd und
// dem Wert send. Wenn ein neuer Eintrag erstellt und abgesendet worden ist
// wird cmd als Variable mit dem Wert send übergeben und damit die nachfolgende
// Bedingung erfüllt. Wenn die Bedingung erfüllt ist werden die übergebenen
// Formulardaten zuerst als email versendet und dann in die Datenbank zusammen
// mit der aktuellen Systemzeit eingetragen.
elseif (isset($cmd) && $cmd == "send"):
//Auslesen der IP des Clients
// Wenn User einen Proxy verwendet
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = getenv($HTTP_X_FORWARDED_FOR);
}
// Normalfall
else {
$ip = getenv($REMOTE_ADDR);
}
/*
// Wenn User einen Proxy verwendet
if (getenv($HTTP_X_FORWARDED_FOR)){
$ip = getenv($HTTP_X_FORWARDED_FOR);
// Normalfall
}else {
$ip = getenv($REMOTE_ADDR);
}
*/
// Das Datum und die Uhrzeit des Eintrags wird gespeichert
$datum = date("Y.m.d. H.i.s." ,time());
// Versand des Eintrags per email
$betreff="Neuer Gästebucheintrag von $name";
$text="Name:\n$name\n\nEmail:\n$email\n\nHomepage:\n$url\n\nTitel:\n$titel
\n\nKommentar:\n$comment\n\nDatum:\n$datum\n\nIP:\n$ip";
$header="From: $name <$email>\n";
mail($emailadmin,$betreff,$text,$header);
//Überprüfung ob überhaupt Kommentar eingegeben, damit ,falls JavaScript deaktiviert ist,
//ein Eintrag verhindert wird.
if ($comment == "") {
echo"Ihr Gästebucheintrag ist fehlgeschlagen!"; echo"Sie haben keinen Kommentar eingegeben. Wollen Sie es "; echo"nocheinmal probieren"; echo" oder wollen Sie "; echo"zurück zur Startseite Ihr Gästebucheintrag ist fehlgeschlagen!"; echo"Es ist leider nicht mehr möglich neue Einträge in das Gästebuch zu schreiben. "; echo""; echo"Zurück zur Startseite Ihr Gästebucheintrag ist fehlgeschlagen!"; echo"Sie haben Ihren Kommentar mit einem Hyperlink begonnen. Da viele Werbeeinträge so beginnen, wird dies unterbunden. Wollen Sie es "; echo"nocheinmal probieren"; echo" oder wollen Sie "; echo"zurück zur Startseite "; } //Der CAPTCHA Test muss erfolgreich sein elseif ( $_POST['user_captcha_string'] != $GLOBALS['captcha_image_class']->get_decode_captcha_string($_SESSION['captcha_string']) ) { echo"Ihr Gästebucheintrag ist fehlgeschlagen!"; echo"Sie haben leider den ANTI-SPAM Test nicht bestanden! Für einen Eintrag ist erforderlich den Text aus dem Bild in das Eingefeld einzutragen. Wollen Sie es "; echo"nocheinmal probieren"; echo" oder wollen Sie "; echo"zurück zur Startseite Ihr Gästebucheintrag war erfolgreich"; echo"Vielen Dank für Ihren Eintrag. Wollen Sie Ihn gleich sehen "; echo"oder wollen Sie "; echo"zurück zur Startseite
"; //********* Beginn Gästebuch Body ********************** // Jeder Datensatz von GUESTBOOK wird ausgelesen und jeweils in einer Tabelle // untereinander ausgegeben. while ($row = mysql_fetch_row($result)) { //Stripslashes enfernt die von addslashes eingefügten Backslashes //Trim entfernt Leerstellen am Anfang und am Ende des Strings //nl2br wandelt Zeilenumbrüche in Zeichen um //htmlentities verhindert, dass HTML Code ausgeführt wird $text = stripslashes(trim(nl2br(htmlentities($row[5])))); //Smilies Funktionalität durch Suchen und Ersetzen (ereg_replace) im Textfeld //ereg_replace sucht nach regulären Ausdrücken. Deshalb müssen bestimmte Zeichen //wie * oder ( maskiert werden. $text = ereg_replace(':-)',' ", 1); // Damit das Datum nicht in der Form YYYY-MM-DD HH:MM:SS ausgegeben wird, // werden die entsprechenden Teile des Strings ausgelesen und neugeordnet. // Außerdem wird dem Monat der entsprechende Monatsname zugeordnet. // Aus dem Datum wird ein Unix-Timestamp erzeugt. Dieser wird für die Funktion // "strftime" als Parameter benötigt. // Sehr umständlich. Besser wäre es das Datum als Timestamp in der DB // zu speichern!!!!!!!!!!!!!!! $stunde = substr($row[6],11,2); $minute = substr($row[6],14,2); $sekunde = substr($row[6],17,2); $monat = substr($row[6],5,2); $tag = substr($row[6],8,2); $jahr = substr($row[6],0,4); $unixstamp = mktime($stunde, $minute, $sekunde, $monat, $tag, $jahr); //Monatsnamen sollen auf deutsch ausgegeben werden. (Von Strato nicht unterstützt) setlocale(LC_TIME, 'de_DE.ISO_8859-1'); // Datum im Format: Zahl(einstellig). Monatsname Jahr(vierstellig) $date = strftime('%A, den %e. %B %Y um %H:%M Uhr', $unixstamp); $uhrzeit = substr($row[6],11,5); $Name = stripslashes($row[1]); $EmailSymbol = "
"; } // Ende der while-Schleife //************* Beginn Gästebuch Footer ********************* //ceil() liefert den nächst höheren int-Wert bei float Werten //und somit die Gesamtanzahl der darzustellenden Seiten $SeitenGesamt = ceil($anzahl / $eintraege); //Link zur ersten Seite $SeitenAuswahl = "1"; //Falls es mehrer Seiten sind, dann werden die entsprechenden Links erzeugt if ( $SeitenGesamt >= 1 ) { for( $i = 2 ; $i <= $SeitenGesamt ; $i++ ) { $SeitenAuswahl = $SeitenAuswahl.", $i"; } } //Ausgabe des Gästebuch Footers echo"
"; //************* Ende Gästebuch Footer ***************************** //************* Ende der Ausgabe der Datenbank ********************* endif; ?> |


