easy gbook was ist hier falsch?

Nohh

Erfahrenes Mitglied
Hallo ich habe ein Gästebuchscript zusammengefasst, was ist hier den nur falsch, ich kann es nicht abschicken !?
PHP:
<html>
<head>
<title>Einfaches Gästebuch</title>
<meta http-equiv="content-type" content=
"text/html; charset=iso-8859-1">
<link  rel="sytlesheet" type="text/css" href="../css/neu.css">
</head>
<body bgcolor="white">
<h1>Einfaches Gästebuch</h1>
<form action="<? echo $PHP_SELF ?>" method="post">Ihr Kommentar:<br>
<textarea cols="55" rows="4" wrap="soft" name="comment"></textarea><br>
Ihr Name:</br>
<input type="text" name="name"><br>
Ihre E-Mail-Adresse:<br>
<input type="text" name "email"> <input type="submit" value=
"Veröffentlichen"></form>
<h3>Bisherige Meinungen</h3>
<?php
// Dateiname in Variable speichern
$datei="comment.txt";
// Variable Kommentar gesetzt? Name und E-Mail nicht leer?
if (isset($comment) && $name != "" &&  $email != "") {
// Datei wird zum Schreiben-Lesen geöffnet
$zeiger=fopen ($datei, "r+");
// alte Daten herauslesen und in $alt sichern
$alt=fread($zeiger,filesize($datei));
// E-MAIL Link entsteht
$email="<a href=\"$email\">$email</a>";
// Datum ermittels und formatieren
$datum=date ("j.n.Y");
// Slashes entfernen und Zeilenumbrüche erhalten
$comment=stripslashes (n12br ($comment));
// Meinung "zusammensetzen"
$meinung="<p><br>$name</b> ($email) schrieb am
<i>$datum</i>:<br>$comment</p>\n";
// unsichtbarer Corsor marschiert zum Anfang
rewind ($zeiger);
// neueMeinung vor alte in Datei schreiben:
fputs ($zeiger,"$meinung \n $alt");
// Datei schließen
fclose ($zeiger);
}
// Datei komplett anzeigen
readfile ($datei);
?>
</body>
</html>
Keine Angst die "comment.txt" habe ich angelegt, bitte helft mir !
Danke
gruß
Nohh
 
Schau mal in den Quelltext – ich vermute, das Problem ist, dass register_globals deaktiviert sind und du somit anstatt $PHP_SELF eher $_SERVER['PHP_SELF'] als Ziel für das Formular angeben musst.
 
Hallo,

teste einmal diesen Code.


HTML:
       <form action="<? echo $_SERVER[PHP_SELF] ?>" method="POST" name"Formular">
PHP:
<?php
        if($_POST['senden'] && $_POST['comment'] && $_POST['name']$_POST['email'] == TRUE ){
        // Hier dann dein Rest wieder rein!
}
?>
ODER DEINEN VORHERIGEN CODE:
PHP:
<?php
         if($_POST['senden'] !='' && $_POST['comment'] !='' && $_POST['name'] !='' && $_POST['email'] !='' )
         // Hier dann dein Rest wieder rein!
}
?>

Gruß

RS9999
{
 
Zuletzt bearbeitet:
Code:
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST" name"Formular">
So wäre es wohl besser...
 
Hallo split,

würde mal sagen Dein Vorschlag ergibt eine satte Fehlermeldung:

Parse error: parse error, unexpected '=' in irgendetwas.php on line 1

-----------------------------------------------------------------

Der eigendliche Fehler liegt im HTML-CODE = <input type="text" name "email">.
Hier fehlt hinter dem name das "=" Zeichen, so dass die IF- Bedingung nicht erfüllt ist.


Gruß

RS9999:)
 
Probier mal zu Debugging-Zwecken folgendes aus:

PHP:
var_dump ($_SERVER['PHP_SELF']);

Was bekommst du dann angezeigt ?
 
RS9999 hat gesagt.:
Hallo split,

würde mal sagen Dein Vorschlag ergibt eine satte Fehlermeldung:

Parse error: parse error, unexpected '=' in irgendetwas.php on line 1
Nein, das ist die Kurzform -> keine Fehlermeldung.

Aber in deinem Vorschlag fehlen die Anführungszeichen :)
 
Was konntest du denn bis jetzt von den angegebenen Tipps verwenden und wie sieht dein aktueller Status aus ?

Hast du meinen Vorschlag mal ausgeführt ?
 
Zurück