In das Gästebuch eintragen
';
// Anzahl der Seiten berechnen
$AnzahlDatensaetze = $db->query("SELECT COUNT(*) FROM `" . $TABLE_PREFIX . "_gaestebuch` WHERE `anzeige` = '1'")->fetchColumn(0);
if ($AnzahlDatensaetze > 0) {
$Seitenanzahl = ceil($AnzahlDatensaetze / $EINTRAEGE_SEITE);
$AktuelleSeite = isset($_GET["seite"]) ? $_GET["seite"] : 1;
$AktuelleSeite = ctype_digit($AktuelleSeite) ? $AktuelleSeite : 1;
$AktuelleSeite = $AktuelleSeite < 1 || $AktuelleSeite > $Seitenanzahl ? 1 : $AktuelleSeite;
$Versatz = $AktuelleSeite * $EINTRAEGE_SEITE - $EINTRAEGE_SEITE;
// Gästebucheinträge auslesen
$select = $db->query("SELECT `name`, `nachricht`, `homepage`, `bewertung`, `datum`
FROM `" . $TABLE_PREFIX . "_gaestebuch`
WHERE `anzeige` = '1'
ORDER BY `datum` " . ($EINTRAEGE_IO == "Ende" ? "ASC" : "DESC") . "
LIMIT " . $Versatz . ", " . $EINTRAEGE_SEITE);
if ($datensaetze = $select->fetchAll(PDO::FETCH_OBJ)) {
// Link-, und Formular-Navigation
print '';
print '
';
// Gästebucheinträge anzeigen
foreach($datensaetze as $datensatz) {
sscanf($datensatz->datum, "%4s-%2s-%2s", $jahr, $monat, $tag);
print '- ' . $datensatz->name . ' ' .
bewertung($datensatz->bewertung, $STERN_NUMMER) . ' ' . (kalender($tag, $monat, $jahr)) . '' .
($datensatz->homepage != "" ? ' - ' . $datensatz->homepage . '' : '') .
'
- ' . code($datensatz->nachricht) . '
';
}
// Navigation Zurück /Weiter
if ($AnzahlDatensaetze > $EINTRAEGE_SEITE) {
print '' . (($AktuelleSeite - 1) > 0 ? '◄ Zurück ' : '') . ' ' .
(($AktuelleSeite + 1) <= $Seitenanzahl ? 'Weiter ►' : '');
}
}
}
else {
print '
Noch keine Einträge vorhanden!
';
}
}
else {
// In das Gästebuch eintragen
$name = isset($_POST["name"]) ? $_POST["name"] : "";
$nachricht = isset($_POST["nachricht"]) ? $_POST["nachricht"] : "";
$email = isset($_POST["email"]) ? $_POST["email"] : "";
$homepage = isset($_POST["homepage"]) ? $_POST["homepage"] : "";
// Benutzereingaben überprüfen
$Fehler = array("name"=>"","nachricht"=>"","sicherheit"=>"",);
if (isset($_POST["submit"]) ||
isset($_POST["vorschau"])) {
$Fehler["name"] = strlen($_POST["name"]) <= 4 ? 'Bitte füllen Sie dieses Feld aus (min. 5 Zeichen)!
' : '';
$Fehler["name"] = strip_tags($_POST["name"]) != $_POST["name"] ? 'HTML-Tags sind nicht erlaubt!
' : $Fehler["name"];
$Fehler["nachricht"] = strlen($_POST["nachricht"]) < 10 ? 'Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!
' : '';
$Fehler["nachricht"] = strip_tags($_POST["nachricht"]) != $_POST["nachricht"] ? 'HTML-Tags sind nicht erlaubt!
' : $Fehler["nachricht"];
$Fehler["sicherheit"] = (!isset($_POST["vorschau"]) && md5($_POST["zip"]) != $_POST["zip2"]) ? 'Die Sicherheitsabfrage ist leider falsch!
' : '';
}
// Auswahlliste "Webseite Bewertung"
$bewertung = isset($_POST["bewertung"]) ? $_POST["bewertung"] : 0;
$bewertungsauswahl = "\n \n ";
// Sicherheitsabfrage - Zufallszahlen generieren
$Z0 = array(mt_rand(1, 9), mt_rand(1, 9));
$Z1 = max($Z0); $Z2 = min($Z0);
$Spam = $Z1 . " + " . (48 + $Z2) . ";";
$Schutz = md5($Z1 + $Z2);
// Formular erstellen
$Formular = $javascript . '
Das Gästebuch anzeigen
';
// Vorschau
if (isset($_POST["vorschau"]) &&
strlen($_POST["name"]) >= 4 &&
strlen($_POST["nachricht"]) >= 10) {
print '';
}
// Formular abgesendet
if (isset($_POST["submit"])) {
// Sind keine Benutzer-Eingabefehler vorhanden ...
if (implode("", $Fehler) == "") {
// ... in die Datenbank eintragen.
$insert = $db->prepare("INSERT INTO `" . $TABLE_PREFIX . "_gaestebuch` (`anzeige`, `name`, `nachricht`, `email`, `homepage`, `bewertung`, `datum`) VALUES ( :anzeige, :name, :nachricht, :email, :homepage, :bewertung, '" . date("Y-m-d H:i:s") . "')");
if ($insert->execute([':anzeige' => $ANZEIGESPERRE,
':name' => $_POST["name"],
':nachricht' => $_POST["nachricht"],
':email' => $email,
':homepage' => $homepage,
':bewertung' => $_POST["bewertung"]])) {
$id = $db->lastInsertId();
print 'Vielen Dank ' . htmlspecialchars($_POST["name"], ENT_QUOTES | ENT_HTML5, 'UTF-8') .
',
Sie wurden in das Gästebuch eingetragen.
Das Gästebuch anzeigen
';
// E-Mail an den Admin versenden
if ($GB_INFO == "ja") {
mb_internal_encoding("UTF-8");
$Betreff = mb_encode_mimeheader("Neuer Gästebucheintrag", "UTF-8", "Q");
$Kopfzeile = "MIME-Version: 1.0;\nFrom: " .
mb_encode_mimeheader($_POST["name"], "UTF-8", "Q") .
"" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
@mail($EMAIL, $Betreff,
"Datum: " . date("d.m.Y H:i") .
" Uhr\nName: " . strip_tags($_POST["name"]) .
"\nNachricht:\n" . strip_tags($_POST["nachricht"]) .
"\n\nE-Mail:\n" . strip_tags($email) .
"\nHomepage:\n" . strip_tags($homepage) .
"\n\nBearbeiten: " . $PFAD . "/gb_admin.php?id=" . $id, $Kopfzeile);
}
}
}
else {
// Formular und Benutzer-Eingabefehler ausgeben
print $Formular;
}
}
else {
// Formular ausgeben
print $Formular;
}
}
?>