Ich möchte meine Website nun in WP 1.5 aufbauen. Ich habe ein php-Gästebuch-Skript, das ich gerne weiterverwenden möchte. Ich habe ein neues Template im "default"-Ordner angelegt. Nun ist folgendes - wenn man auf "Eintragen" klickt, dann wird auf die oberste Ebene gelinkt - aber das Dokument liegt ja im Template-Ordner.
Hier ist das Skript - vielleicht hat jemand einen Tipp:
PHP
<?php
/*
Template Name: Guestbook
*/
?>
<?php get_header(); ?>
<td><? $adminpasswort="xxxx";
$myemail="info@xxxx.de";
##### Soll bei jedem Eintrag eine Mail an Sie geschickt werden (ja/nein)? #####
$email_senden="ja";
########### HAUPTPROGRAMM ###########
if ($_REQUEST['eintrag']) { eintrag(); }
else if ($_REQUEST['senden']) {auswertung($_REQUEST['kommentar'],$_REQUEST['nname'],$_REQUEST['hpage'],$_REQUEST['email']); }
else if ($_REQUEST['admin_login']) { admin_login(); }
else if ($_REQUEST['admin']) { admin($_REQUEST['passwort']); }
else if ($_REQUEST['loeschen']) { loeschen($_REQUEST['to_delete']); }
else gaestebuch_zeigen();
########### FUNKTIONEN ###########
function gaestebuch_zeigen ()
{
echo <<<FORMULAR
<center>
<FORM ACTION="gaestebuch.php" method="post">
<INPUT TYPE="SUBMIT" NAME="eintrag" VALUE="Neuer Eintrag">
</FORM>
</center>
FORMULAR;
$eintrag=array();
$lesen=array();
$teil=array();
if (file_exists("gbuch.txt")) {
$datei=fopen("gbuch.txt","r");
while (!feof($datei)) {
$lesen=fgets($datei,100000);
array_push($eintrag,$lesen);
}
array_pop($eintrag);
arsort($eintrag);
foreach ($eintrag as $zeile) {
$teil=explode("|",$zeile);
$sekunden=$teil[0];
$zeit=$teil[1];
$name=$teil[2];
$email=$teil[3];
$hpage=$teil[4];
$text=$teil[5];
echo "<p align=\"justify\" style=\"margin-left:17pt;margin-right:25pt\">\n";
echo"$zeit
\n";
echo "$name\n";
if ($email!="") {
echo "<img src=\"mail.gif\" width=\"13\" height=\"10\" border=\"0\" vspace=\"0\"><a href=\"mailto:$email\"> $email</a>\n";
}
if ($hpage!="") {
echo "<img src=\"haus.gif\" width=\"14\" height=\"14\" border=\"0\" vspace=\"0\"><a href=\"http://$hpage\" target=\"blank\">$hpage</a>
\n";
}
echo "<p align=\"justify\" style=\"margin:40pt; margin-top:0pt; margin-bottom:0pt\">$text</p>";
echo "</p>\n";
echo"<hr width=\"80%\" color=\"#2f5a4f\" size=\"1\">\n";
}
}
echo "<p align=\"right\"><a href=\"$PHP_SELF?admin_login=true\">Admin</a>\n";
}
function eintrag()
{
$ua=getenv("HTTP_USER_AGENT");
if (1*strpos(strtolower($ua),"msie")>0) {
$breite1=38;
$breite2=62;
} else {
$breite1=22;
$breite2=30;
}
echo <<<EINTRAG
<p align="right">[url="$self"]zum Gstebuch[/url]</p>
<table cellpadding="5" cellspacing="5" width="100%">
<tr>
<td align="center">
<h1>Eintrag ins Gstebuch</h1>
<FORM action="$PHP_SELF" method="post">
<table width="310">
<tr>
<td>
Name:
</td>
<td>
<input type="text" name="nname" size="$breite1" maxlength="40" VALUE="$nname">
</td>
</tr>
<tr>
<td>
Email:*
</td>
<td>
<input type="text" name="email" size="$breite1" VALUE="$email">
</td>
</tr>
<tr>
<td width="33%">
Homepage:*
</td>
<td>
<input type="text" name="hpage" size="$breite1" VALUE="$hpage">
</td>
</tr>
<tr>
<td colspan="2">
Kommentar:
<textarea name="kommentar" rows="6" cols="$breite2" VALUE="$kommentar"></textarea>
</td>
<td>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="senden" value="eintragen">
<INPUT TYPE="reset" VALUE=" lschen ">
</td>
<td>
</td>
</tr>
<tr>
<td>
* optional
</td>
</tr>
</table>
</FORM>
</td></tr></table>
EINTRAG;
}
function auswertung ($kommentar,$nname,$hpage,$email)
{
global $myemail;
global $email_senden;
echo "<p align=\"right\"><a href=\"$self\">zum Gstebuch</a></p>\n";
####### Die Angaben werden von berflssigen Zeichen befreit #######
$kommentar = stripslashes ($kommentar);
$kommentar = trim ($kommentar);
$nname = stripslashes ($nname);
$nname = trim ($nname);
$hpage = stripslashes ($hpage);
$hpage = trim ($hpage);
$email = stripslashes ($email);
$email = trim ($email);
####### Das Datum und die Zeit wird ermittelt #######
$tag=date("d.");
$m=array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
$monat=$m[1*date("m")-1];
$jahr=date("Y");
$tdw=array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag",);
$x=date("w");
$zeit=date("H:i:s");
$anm=$tdw[$x].",".$tag."".$monat."".$jahr."-".$zeit;
$sekunden=date("U");
####### Definition der Fehlermeldung #######
$zurueck="Klicken Sie <a href=\"javascript:history.back()\">[b]hier[/b]</a>, um zum Formular zurckzukehren und die Fehler zu beheben.</center>";
####### berprfunge auf Fehler #######
if ((empty($kommentar)) || ((!ereg(".+@.+\..+", $email)) && (!empty($email))) || (empty($nname))) {echo "<center>
<h1>Fehler !</h1>
";}
### Kommentar ###
if (empty($kommentar))
{ echo "Sie keinen Kommentar eingegeben.
"; echo "$zurueck\n"; }
### Email ###
else
if(!ereg(".+@.+\..+", $email)&& !empty($email)) {
echo "Die Email-Adresse ist falsch.
"; echo "$zurueck\n"; }
### Name ###
else
if (empty($nname))
{ echo "Sie haben Ihren Namen nicht eingegeben.
"; echo "$zurueck\n"; }
####### Alles in Ordnung #######
else {
####### Daten werden gespeichert #######
$komm=ereg_replace(chr(10),"
",$kommentar);
if (!file_exists("gbuch.txt")) { $datei=fopen("gbuch.txt","w"); fclose($datei); }
$gbfile=fopen("gbuch.txt","a");
fputs($gbfile,"$sekunden|$anm|$nname|$email|$hpage|$komm\n");
fclose($gbfile);
####### FALLS $email_senden="ja", WIRD EINE EMAIL AN $myemail GESENDET #######
if ($email_senden=="ja")
{
$subject = "Eintrag";
$header = "From: Gstebuch <$myemail>\n";
$nachricht="Zeit - $anm\nName - $nname\nEmail - $email\nText - $komm";
mail($myemail,$subject,$nachricht,$header);
}
echo "<center>
<h1>Die Daten wurden gesendet.</h1>
\n";
echo "<a href=\"$self\">Gstebuch erneut anschauen</a></center>";
}
}
function admin_login()
{
echo <<<ADMINFORMULAR
<p align="right">[url="$self"]zum Gstebuch[/url]</p>
<center>
<form action="$PHP_SELF?admin=true" method="post">
Passwort:
<input type="password" name="passwort" size="20" maxlength="30">
<input type="submit" name="admin" value=" login ">
</form>
</center>
ADMINFORMULAR;
}
function admin($passwort)
{
global $adminpasswort;
echo "<p align=\"right\"><a href=\"$PHP_SELF\">zum Gstebuch</a></p>\n";
if ($passwort==$adminpasswort)
{
echo "<form action=\"gaestebuch.php\" method=\"post\">";
echo "<table cellpadding=\"5\" cellspacing=\"5\" width=\"100%\">";
$eintrag=array();
$lesen=array();
$teil=array();
if (file_exists("gbuch.txt"))
{
$datei=fopen("gbuch.txt","r");
while (!feof($datei))
{
$lesen=fgets($datei,100000);
array_push($eintrag,$lesen);
}
array_pop($eintrag);
rsort($eintrag);
foreach ($eintrag as $zeile)
{
$teil=explode("|",$zeile);
$sekunden=$teil[0];
$zeit=$teil[1];
$name=$teil[2];
$email=$teil[3];
$hpage=$teil[4];
$text=$teil[5];
$time=ereg_replace("","",$zeit);
$time=ereg_replace(" ","",$time);
echo "<tr><td width=\"50\" align=\"right\" valign=\"top\">";
echo "<input type=\"radio\" name=\"to_delete\" value=\"$sekunden\">
";
echo "</td><td>";
echo"Zeit: $zeit
";
echo "Name: $name
";
echo "Email: $email
";
echo "Homepage: $hpage
";
echo "Kommentar: $text
";
echo "</td></tr>";
}
echo "<tr><td></td><td align=\"left\">";
echo "<input type=\"submit\" name=\"loeschen\" value=\"den markierten Eintrag lschen\">";
echo "<input type=\"reset\" value=\"abbrechen\"></td></tr>";
echo "</table></form>";
}
}
else
{
echo "<center><h1>
Falsches Passwort!</h1>\n";
echo "<p align=\center\"><a href=\"$PHP_SELF?admin_login=true\">Admin</a><center>\n";
}
}
function loeschen($to_delete)
{
global $adminpasswort;
$zeile=array();
$tosave=array();
$to_delete=ereg_replace("","",$to_delete);
$to_delete=ereg_replace(" ","",$to_delete);
$datei=fopen("gbuch.txt","r");
while (!feof($datei))
{
$zeile=fgets($datei,100000);
$teil=explode("|",$zeile);
$datum=ereg_replace("","",$teil[0]);
$datum=ereg_replace(" ","",$datum);
if ($datum!=$to_delete) { array_push($tosave,$zeile); }
}
fclose($datei);
$datei=fopen("gbuch.txt","w");
foreach ($tosave as $x)
{
fputs($datei,"$x");
}
fclose($datei);
echo <<<FORMULAR
<p align="right">[url="$self"]zum Gstebuch[/url]</p>
<center>
<h1>Der Eintrag wurde gelscht</h1>
[url="$self"]zum Gstebuch[/url]
<form action="$self" method="post">
<input type="hidden" name="passwort" value="$adminpasswort">
<input type="submit" name="admin" value="zurck zur Administration">
</form>
</center>
FORMULAR;
}
?></td>
<?php get_footer(); ?>
Alles anzeigen