Hi,
ich habe ein PHP Gästebuch geschrieben. leider habe ich jetzt ein kleines Problem:
Warning: Supplied resource is not a valid File-Handle resource in /home/www/htdocs/pow3rus3r.de/gbook//gbook.php on line 27
und
Warning: fopen("book.php","a") - Permission denied in /home/www/htdocs/pow3rus3r.de/gbook/gbook.php on line 23
Das 2. hab ich gelöst, glöaub ich. Da war was mit den Berechtigungen im argen. Aber zum ersten Fehler weiß ich keine Lösung :(
Hier ist der Code der "gbook.php", vieleicht könnt ihr ja was damit anfangen. Vielen Dank im Vorraus :)
Code:
<HTML> <HEAD> <TITLE>Gästebuch</TITLE> </HEAD> <BODY> <? // ACHTUNG!!! Damit das Gästebuch funktionieren kann, // müssen Sie das Verzeichnis in dem das Gästebuch liegt // mit "chmod 777" für jeden les- und schreibbar machen. // Sonst kann nicht auf das zugegriffen werden.
$datum = date("d.m.Y"); $uhr = date("H:i:s");
// Wo das Gästebuch abgelegt ist $pfad = "http://www.pow3rus3r.de/gbook/book.php";
// Was ausgegeben wird, wenn es zu einem Fehler kommt $fehler = ("Feld darf nicht leer sein!");
if ($name && $kommentar && $email) { // Einträge okay, kann ins Gästebuch schreiben if (!($fp = fopen($pfad, "a"))) { echo ("Fehler beim Öffnen des Gästebuches!"); exit; } if (!($pos = ftell($fp))) { // $pos==0: erster Eintrag ins Gästebuch - Überschrift etc. erzeugen!
$titel = " <html> <head> <title>Gästebuch</title> <link rel="StyleSheet" href="http://www.pow3rus3r.de//ubbthreads/stylesheets/theblues.css" type="text/css" media="all"> </head> <html>
<div align="center"> <body bgcolor="#72A9E7"> ";
if (!($ok = fwrite($fp, $titel, strlen($titel)))) { echo "Fehler beim Schreiben ins Gästebuch!"; exit; } }
$eintrag = (" <center>
<table border="1" cellspacing="0" style="border-collapse: collapse; border-style: solid" bordercolor="#2D71FF" width="95%" height="13" cellpadding="0"> <tr> <td width="616" height="3" bgcolor="#5A8EE4"> <b><font face="Microsoft Sans Serif"> ..:: <A HREF="mailto:$email">$name</A> ( <a href="http://$home">Homepage</a> ) schrieb:</font></b></td> <td width="126" height="3" bordercolor="#5A8EE4" bgcolor="#5A8EE4"><p align="right"> <b><font face="Arial" size="1">$datum $uhr Uhr</font></b></td> </tr> <tr> <td width="100%" height="10" align="left" valign="top" colspan="2"><p> <font face="Microsoft Sans Serif" size="2">$kommentar</font></p> <p> <font face="Microsoft Sans Serif" size="2">IP: $REMOTE_ADDR</font></p> </td> </tr> <tr> <td width="100%" height="10" align="left" valign="top" colspan="2"><p> <img border="0" src="http://www.pow3rus3r.de/images/posting/blau-orange.jpg" width="100%" height="100%"></td> </tr> </table> <br>
</center> ");
if (!($ok = fwrite($fp, $eintrag, strlen($eintrag)))) { echo ("<B>Fehler beim Beschreiben des Gästebuchs!</B>"); exit; } fclose($fp); // Nachricht an den User nach // Abschicken des Formulars: echo ("<html><head><title>Gästebuch</title></head><body bgcolor="#72A9E7" font face="Arial" size="3" onload="window.location.href='gbook.php';"><center>"); echo ("Danke für deinen Eintrag.<br>"); echo ("Du wirst nun automatisch zum Gästebuch weitergeleitet.<br>"); echo ("Solltest du nicht weitergeleitet werden, klicke bitte hier:<br>"); echo ("<A HREF="$pfad">Zurück zum Gästebuch.</center></A>"); exit; }
if ($ausgefuellt) { // Wenn der Name nicht ausgefüllt wurde: if (! $name) { $name_fehlt = $fehler; } // Wenn die E-mail-Adresse fehlt: if (! $email) { $email_fehlt = $fehler; } // Wenn das Kommentarfeld nicht ausgefüllt wurde: if (! $kommentar) { $kommentar_fehlt = $fehler; } } ?> <!-- das Formular mit den Eingabefelden --> <html>
<head>
<title>Gästebuch</title> <link rel="StyleSheet" href="http://www.pow3rus3r.de//ubbthreads/stylesheets/theblues.css" type="text/css" media="all"> </head>
<body bgcolor="#72A9E7"> <p align="center"><b><font face="Microsoft Sans Serif" size="6" color="#FFFFFF"> ..:: Gästebuch ::..</font></b></p> <P> <FORM ACTION="gbook.php" METHOD="post"> <INPUT TYPE="hidden" NAME="ausgefuellt" VALUE="1"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="30%" id="AutoNumber3" height="384"> <tr> <td width="100%" height="384"> <p align="center"><b><font face="Arial">Name</font></b><BR> <INPUT TYPE="text" NAME="name" SIZE="40" VALUE="<? echo ("$name"); ?>"> <? echo ("$name_fehlt"); ?> </p> <P align="center"> <!-- Texteingabefeld für die Email-Adresse --> <font face="Arial"> <B>E-mail</B></font><BR> <INPUT TYPE="text" NAME="email" SIZE="40" VALUE="<? echo ("$email"); ?>"> <? echo ("$email_fehlt"); ?> <P align="center"> <!-- Texteingabefeld die Homepage --> <font face="Arial"> <B>Homepage (ohne http://)</B></font><BR> <INPUT TYPE="text" NAME="home" SIZE="40" VALUE="<? echo ("$home"); ?>"> <P align="center"> <font face="Arial"> <!-- Textarea für Kommentare --> <B>Kommentar</B></font><BR> <TEXTAREA ROWS=8 COLS=37 NAME="kommentar" WRAP="SOFT"><? echo ("$kommentar"); ?></TEXTAREA> <? echo ("$kommentar_fehlt"); ?> <P align="center"> <INPUT TYPE="submit" VALUE="Abschicken"> <INPUT TYPE="reset" VALUE="Zurücksetzen"> <p> </td> </tr> </table> </center>
<br> <? include "$pfad"; ?> </BODY> </HTML>