Ich habe ein Template erstellt mit dem Inhalt meines PHP Gästebuch.
Das Template sieht folgendermassen aus:
<?php
/*
Template Name: Guestbook
*/
?>
<?php get_header(); ?>
<div id="content" class="widecolumn">
<?php
include_once './inc/configuration.php';
// Verbindung zu Datenbank herstellen
$conn = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
// wenn submit Button gedrückt dann
if (isset($_POST['submit'])) {
// prüfe ob name und Beitrag ausgefüllt wurden
if (trim($_POST['name']) == "") die(_no_name);
if (trim($_POST['Beitrag']) == "") die(_no_text);
if ($max_message != "0")
{
if (strlen($_POST['Beitrag']) > $max_message ) die(_max_message);
}
// Variablen erzeugen falls diese abgeschaltet sind
if (!isset($_POST['E-Mail'])) {
$_POST['E-Mail'] = "";
}
if (!isset($_POST['Website'])) {
$_POST['Website'] = "";
}
// E-Mail Feld überprüfen
if (isset($_POST['E-Mail']) AND trim($_POST['E-Mail']) != "") // wenn Emaildatensatz erzeugt wurd und nicht leer ist
{
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$", $_POST['E-Mail'])) // dann überprüfe ob es dem Schema entspricht
{
die (_wrong_mail) ; // Wenn nicht dann Abrruch und Fehlermeldung
};
}
if (isset($_POST['Website']) AND trim($_POST['Website']) != "")
{
if (!ereg("^http://", $_POST['Website']))
{
$_POST['Website'] = "http://".$_POST['Website'];
}
}
$zeit = time();
$sql = "DELETE FROM " . $prefix . "ips WHERE Date <= $zeit-$ipsperre "; //Einträge löschen die älter als xy Sekunden sind
mysql_query($sql);
$sql = "SELECT * FROM " . $prefix . "ips";
$result = mysql_query($sql);
$reloadsperre = mysql_fetch_assoc($result);
if ($reloadsperre['IP'] == $_SERVER['REMOTE_ADDR']) die(_ip_activ); //überprüfen ob IP in der Liste vorhanden
// IPsperre - Ende
// Daten in die Datenbankschreiben
$sql = "INSERT INTO " . $prefix . "posts (name, email, website, datum, IP, beitrag)
VALUES
('" . addslashes($_POST['name']) . "',
'" . addslashes(htmlspecialchars($_POST['E-Mail'])) . "',
'" . addslashes(htmlspecialchars($_POST['Website'])) . "',
NOW(),
'" . $_SERVER['REMOTE_ADDR'] . "',
'" . addslashes(htmlspecialchars($_POST['Beitrag'])) . "')";
mysql_query($sql) OR die(mysql_error()); // Ausführen oder Fehler Ausgeben
// IP-Sperre - Datum und IP in DB speichern
$sql = "INSERT INTO " . $prefix . "ips (IP,Date)
VALUES
( '" . $_SERVER['REMOTE_ADDR'] . "', '" . time() . "' ) ";
mysql_query($sql) OR die(mysql_error());
// --IP-Sperre
// automatische Weiterleitung um Reload zu vermeiden
$url = "http://toolazytothink.com/blog/?page_id=61";
header("location:" . $url);
die("Beitrag eingetragen");
}
// Eingabeformular
[...]
// Einträge aus der Datanbank lesen
$result = mysql_query("SELECT COUNT(*) FROM " . $prefix . "posts"); // Beträge zählen
$beitraege_anz = mysql_result($result, 0); //Anzahl speichern
if (!$beitraege_anz) die(_no_posts); //Script abbrechen wenn keine Beiträge vorhanden
$start = isset($_GET['seiten_nummer'])?(int)$_GET['seiten_nummer']:1; // Festlegen der aktuellen Seite
// Festlegen der Anzahl der angezeigten Datensätze
$pro_seite = isset($_GET['pro_seite'])?(int)$_GET['pro_seite']:$proseite;
/*if ($pro_seite != 5 AND $pro_seite != 10 AND $pro_seite != 20)
{
$pro_seite = 10;
}*/
$num_pages = ceil($beitraege_anz / $pro_seite); //Seitenzahl errechnen
// Überprüft, ob eine mögliche Seitenzahl übergeben wurde
if ($start < 1) {
$start = 1;
}
if ($start > $num_pages) {
$start = $num_pages;
}
$offset = ($start-1) * $pro_seite;
echo "<table>\n";
echo " <tr>\n";
echo " <td colspan=\"2\"></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td colspan=\"2\">" . _post_per_page . "\n"; // Daten pro Seite
if ($pro_seite != 5)
{
echo "<a href=\"" . $includefile . "?pro_seite=5&seiten_nummer=" . $start . "\"></a> \n";
}else{
echo " \n";
}
if ($pro_seite != 10)
{
echo "<a href=\"" . $includefile . "?pro_seite=10&seiten_nummer=" . $start . "\"></a> \n";
}else{
echo "10\n";
}
if ($pro_seite != 20)
{
echo "<a href=\"" . $includefile . "?pro_seite=20&seiten_nummer=" . $start . "\"></a> \n";
}else{
echo "20\n";
}
echo " </td>\n";
echo " </tr>\n";
// Seitenanzeige
echo " <tr>\n";
echo " <td colspan=\"2\"> Seite :\n";
if ($start != 1)
{
echo "<a href=\"" . $includefile . "?pro_seite=" . $pro_seite . "&seiten_nummer=" . ($start-1) . "\"><</a> \n";
}
for($i = 1; $i <= $num_pages; $i++)
{
if ($i == $start)
{
echo $i . "\n";
}else{
echo "<a href=\"" . $includefile . "?pro_seite=" . $pro_seite . "&seiten_nummer=" . $i . "\">" . $i . "</a>\n";
}
}
if ($start != $num_pages)
{
echo " <a href=\"" . $includefile . "?pro_seite=" . $pro_seite . "&seiten_nummer=" . ($start + 1) . "\">></a> \n";
}
echo " </td>\n";
echo " </tr>";
// Alle Einträge abfragen
$sql = "SELECT * FROM " . $prefix . "posts ORDER BY datum DESC LIMIT " . $offset . ", " . $pro_seite . " ";
$result = mysql_query($sql);
while ($post = mysql_fetch_assoc($result))
{
if ($autobreak == "1")
{
$text = nl2br(stripslashes(wordwrap($post['beitrag'], $maxzeichenkette, "<br />\n", 1)));
} else {
$text = wordwrap(stripslashes($post['beitrag']), $maxzeichenkette, "<br />\n", 1);
}
if ($smileys == "1")
{
$smiletext = str_replace($smiley, $smiley_pfad, $text);
} elseif ($smileys == "0") {
$smiletext = $text;
}
//URLs in Links umwandeln
if ($autolink == "1")
{
$smiletext = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $smiletext);
}
if ($freigabe == "1" AND $post['frei'] =="1" OR $freigabe == "0")//falls doch - Anzeigen !
{
echo " <tr>\n";
echo " <td class=\"info\" colspan = \"2\">" . _poster_name . " " . strip_tags($post['name']) . " " . _post_date . " " . date('d.m.Y H:i \U\h\r', strtotime($post['datum'])) . "\n";
if ($post['website'] != "" AND $website == "1")
{
echo "<a href=\"".strip_tags($post['website'])."\" target=\"_blank\">WWW.</a>\n";
}
if ($post['email'] != "" AND $email == "1")
{
echo "<a href=\"mailto:".strip_tags($post['email'])."\" target=\"_blank\">E-Mail</a>\n";
}
echo "</td>";
echo " </tr>\n";
echo " <tr>\n";
echo " <td class=\"beitrag\" colspan = \"2\">" . $smiletext . "</td>\n";
echo " </tr>\n";
echo " <tr><td colspan=\"2\"><br></br></td></tr>\n";
} elseif ($post['frei'] == "0") {
}
}
echo " </table>\n";
include 'inc/fooder.php';
?>
</ul>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Alles anzeigen
Ich mache am Schluss folgende Angabe:
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Leider zeigt es mir aber den Footer und die Sitebar nicht an. (siehe: toolazytothink » Gästebuch).
LG