Fehlermeldung beim gästebuch programmieren! HILFE!!!
Datenshi
- php
Hallo zusammen!
ich möchte Einträge in das Gästebuch eifügen. Ich möchte gerne eine Formular zeigen, in dem der Gästebucheintrag durch den Besucher gemacht werden kann. habe gerade Problem mit dem unterstehenden Code. Es sollte eine " < " zu viel, wurde mir der Computer gesagt. Könnte jemand mir bitte weiter helfen?
Herzlichen Dank
Datenshi
<form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST" enctype="text/html">
<p>Ihr Name:<br />
<input type="text" name="name" value="" size="50" maxlength="150" />
</p>
<p>Ihre E-Mail-Adresse:<br />
<input type="text" name="email" value="" size="50" maxlength="150" />
</p>
<p>Ihre Homepage:<br />
<input type="text" name="url" value="" size="50" maxlength="150" />
</p>
<p>Gästebucheintrag:<br />
<textarea name="eintrag" rows="10" cols="50"></textarea>
</p>
<input type="Submit" name="" value="speichern" />
</form>
Hello,
kann sein, dass es an diesem Unsinn liegt:
<form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>"
<input type="Submit" name="" value="speichern" />
Ob der Browser das verkraftet, wenn zwei verschiedene Elemente denselben Namen bekommen, weiß ich nicht, würde aber den Fehler erstmal hier vermuten...
Das ist mWn nur für Radio-Groups vorgesehen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Ob der Browser das verkraftet, wenn zwei verschiedene Elemente denselben Namen bekommen, weiß ich nicht, würde aber den Fehler erstmal hier vermuten...
Das ist mWn nur für Radio-Groups vorgesehen.
Das ist völlig ok, siehe z.B. hier:
https://forum.selfhtml.org/?t=190955&m=1272986
Auch ein select kann denselben Namen haben wie in input-Element und es kann sogar sinnvoll sein.
Es sollte eine " < " zu viel, wurde mir der Computer gesagt.
Gibt's diese Fehlerbeschreibung auch in Deutsch oder Englisch - ich stelle mir da etwa das vor, was der "Computer sagt" und nicht deine Wiedergabe davon, darunter kann ich mir nämlich nichts vorstlelen.
Das einzige was eine Fehlermeldung verursachen könnte ist der PHP-Schnipsel - der ist aber, soweit ich das sehe in ordnung.
Der HTML-Teil ist zwar nicht der Renner, kann aber keine PHP-Fehlermeldung auslösen.
Hello suit,
es wäre interessant zu wissen, welchen Editor der OP benutzt.
Das einzige was eine Fehlermeldung verursachen könnte ist der PHP-Schnipsel - der ist aber, soweit ich das sehe in Ordnung.
... besonders, wenn gar kein PHP-Parser aktiv ist.
Der HTML-Teil ist zwar nicht der Renner, kann aber keine PHP-Fehlermeldung auslösen.
Was hältst Du von den leeren Namensattributen?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Was hältst Du von den leeren Namensattributen?
Aus HTML-Sicht ist das afaik völlig ok - auch entsteht dabei z.B. eine gültiger GET-Request wenn man das Formular abschickt
foo.php?=bar&=baz ist aber mit PHP ungleich schwieriger auszuwerten als foo.php?name=bar&kommentar=baz :)
Hi,
Es sollte eine " < " zu viel, wurde mir der Computer gesagt.
Bitte zitiere die exakte Meldung.
Unter deiner Umschreibung der Fehlermeldung (noch dazu in schlechtem Deutsch) kann sich vermutlich niemand hier etwas vorstellen.
Und bitte lies die Tipps für Fragende.
MfG ChrisB
Hello,
<form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST" enctype="text/html">
Ich las da in dem anderen Thread gerade "XSS-Problematik", also Cross-Site Scripting == Angriffe auf Formulare in Webseiten. Das ist hier auch möglich, weil Du die Variable $_SERVER['PHP_SELF'] ungefiltert ins Formular einsetzt. Diese enthält aber bei Standardeinstellung des Webservers (zumindest beim Apachen ist es so) auch die sogenannte Path-Info, also den Teil der URL, den der User zusätlich noch hinten anfügt an den Pfad. Bitte nicht verwechseln mit den Parametern.
Mittels dieser Path-Info kann man dann das Formular entführen und/oder JavaScripts verstecken.
Es ist daher sicherer, die Variable $_SERVER['SCRIPT_NAME'] zu verwenden, die von PHP um diese Zusatzinformation bereinigt wird.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
<form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST" enctype="text/html">
Diese enthält aber bei Standardeinstellung des Webservers (zumindest beim Apachen ist es so) auch die sogenannte Path-Info, also den Teil der URL, den der User zusätlich noch hinten anfügt an den Pfad. Bitte nicht verwechseln mit den Parametern.
Mittels dieser Path-Info kann man dann das Formular entführen und/oder JavaScripts verstecken.
Es ist daher sicherer, die Variable $_SERVER['SCRIPT_NAME'] zu verwenden, die von PHP um diese Zusatzinformation bereinigt wird.
bist Du dir da sicher?
bei mir kommt das!
_SERVER["QUERY_STRING"] sss
_SERVER["REQUEST_URI"] /info.php?sss
_SERVER["SCRIPT_NAME"] /info.php
_SERVER["PHP_SELF"] /info.php
oder was habe ich da falsch Verstanden??
Mit freundlichen Gruessen aus dem Ruhrgebiet
Ulli
Hello,
bist Du dir da sicher?
bei mir kommt das!
_SERVER["QUERY_STRING"] sss
_SERVER["REQUEST_URI"] /info.php?sss
_SERVER["SCRIPT_NAME"] /info.php
_SERVER["PHP_SELF"] /info.phpoder was habe ich da falsch Verstanden??
Du musst an den Pfad auch etwas dranhängen... :-)
url = http://example.org/info.php/eingefuegter_code/blah/doedel/foo?param1=a¶m2=b
und dann nochmal
_SERVER["PHP_SELF"] im Script http://example.org/info.php abfragen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg