1. Gästebuch

Stelo

Erfahrenes Mitglied
Ich mach gerade mein erstes Gästebuch und hab auch einen "lehrer" der mir das alles schritt für schritt erklärt, der is aber gerade nicht da und ich komm hier nicht weiter:

PHP:
<?
$buch= $Name . $Naricht . $Mail;
fputs($buch.txt , $buch)
fclose($buch.txt)
?>

aber es zeigt diesen fehler an

Code:
Parse error: parse error, unexpected T_STRING in /home/wwwusr/steff/pub/speicher.php on line 12
 
jetzt hab ich das nächste problem

PHP:
<?
$buch= $Name . $Naricht . $Mail;
fputs("buch.txt" , $buch);
fclose("buch.txt");
?>

Notice: Undefined variable: Name in /home/wwwusr/steff/pub/speicher.php on line 10

Notice: Undefined variable: Naricht in /home/wwwusr/steff/pub/speicher.php on line 10

Notice: Undefined variable: Mail in /home/wwwusr/steff/pub/speicher.php on line 10

Warning: fputs(): supplied argument is not a valid stream resource in /home/wwwusr/steff/pub/speicher.php on line 11

Warning: fclose(): supplied argument is not a valid stream resource in /home/wwwusr/steff/pub/speicher.php on line 12
 
Wo kommen denn die Variablen $name, $nachricht (so schreibt man es) und $mail her?
Werden die per Post übergeben?
Außerdem musst du die Textdatei natürlich erst öffnen, bevor du was reinschreiben kannst!
Dann versuch das mal:
PHP:
$buch= $_POST['name'].$_POST['naricht'].$_POST['mail'];
$handle = fopen("buch.txt", "a");
fputs($handle , $buch); 
fclose($handle);
 
Sprich sie werden per POST an das Script übertragen. Also sind sie im globalen Array $_POST zu finden!
Es sei denn du benutzt GET, wovon ich aber nur abraten kann. Jedenfalls wäre sie dann im globalen Array $_GET zu finden.
 
Zuletzt bearbeitet:
Hallo!

Abgesehen davon dass das nicht der ganze Code ist (sieht man ja schon an den Zeilenzahlen in der Fehlermeldung), frage ich mich wie das Gästebuch den Inhalt der TXT anzeigen soll?!
Denn beim eintragen von name, naricht (nachricht?) und mail werden keine Trennzeichen mitgeschrieben, woher soll das Script, welches die TXT wieder ausliest, also wissen wo welches Feld anfängt/aufhört?

Wenn ich jetzt davon ausgehe dass in explode() z.b.das ### als Trennzeichen definiert wurde, müsste $buch= z.b. so aussehen:
PHP:
$buch = $_POST['name']."###".$_POST['naricht']."###".$_POST['mail']."\n";
 
// bzw. so
$buch = $_POST['name']."###".$_POST['nachricht']."###".$_POST['mail']."\n";
aussehen.

Gruss Dr Dau
 
Zurück