Ingo Turski: Gästebuch übernimmt keine Einträge aus Variable

Beitrag lesen

Hi,
ergänzend zu Tom:

hat aber mein Problem zwar gelöst, aber nur, indem ich in der PHP.ini die register_globals = On gesetzt habe.

was aber nicht sinnvoll ist, wie Du ja wohl erkannt hast.

"<input type="hidden" name="abgesendet" value="1" />

warum das? Ein Formular sollte über einen Submit-Button abgesendet werden.

Email:<br>
<input type="text" name="email" size="47"><br>

Du kennst das label-Element offenbar noch nicht.

$eintrag = ereg_replace("\n","<br>",$eintrag);

abgesehen davon, dass Du hierfür str_replace verwenden solltest, bitte nicht an dieser Stelle. Du solltest die Originaldaten speichern und erst für die Ausgabe passend aufbereiten. Und natürlich $_POST['eintrag'] abfragen.

$eintrag = stripslashes($eintrag);

s.o. - außerdem solltest Du - wenn magic_quotes_gpc aktiviert sein sollte - mit addslashes() das Gegenteil tun, nämlich den Originalzustand der Eingabe wiederherstellen.

$daten = "<hr><b>Name:</b> $name<br>

s.o. - warum willst Du Dich bei der Datenspeicherung auf eine bestimmte Ausgabe festlegen? Was wenn Du irgendwann keine <hr> mehr ausgeben willst oder auf XHTML umsteigst?
Abgesehen davon: für eine Ausgabe fehlt hier htmlspecialchars().

<b>Email:</b> <a href=mailto:$email>$email</a><br>

s.o. - davon abgesehen eröffnest Du über die Verlinkung von ungeprüften Eingaben tolle Manipulationsmöglichkeiten; stell Dir vor, ich gebe bei email einen Javascript-Code ein. Und außerdem fehlen hier auch noch die Quotes.

<b>Internetseite:</b> <a href=$url>$url</a><br>

s.o.

fwrite($datei,$daten);

was ist, wenn zwischenzeitlich ein anderer Besucher sein Formular abgeschickt hat? Chaos - dass Du über flock() vermeiden solltest.

Zu guter letzt solltest Du Dir dringend Gedanken über SPAM machen.

freundliche Grüße
Ingo