Hallo, Am Freitag 13 Februar 2009 18:19:57 schrieb Robert Großkopf:
Ich habe hier eine kleine Web-Applikation in PHP geschrieben, der Server ist ein Apache.
Der Benutzer soll nun in einem HTML-Formular einige Daten eingeben. Diese werden per POST an den Server übermittelt.
Der HTML code sieht etwa so aus:
Nun prüfe ich in PHP ob $_POST['feld'] auch definiert ist:
if ( ! isset ($_POST['feld'])) { // FEHLER meldung ausgeben }
In 99.99% der Fälle ist $_POST['feld'] definiert und mit einem Wert besetzt. (Ein JavaScript Code-Schnipsel prüft beim Submit, daß auch wirklich etwas eingegeben wurde).
Und __manchmal__ passiert es, daß $_POST['feld'] nicht definiert ist, d.h. isset (..) liefert false.
Ich würde vermeiden zu einem input-Feld dieselbe Bezeichnung für id und name auszugeben. Wozu benötigst Du die ID des Feldes?
hmm, copy&pase aus Beispielen.
Hast Du bei Firefox zur Kontrolle den Firebug als Addon installiert? Der hat mir an dieser Stelle immer schnell auf die Sprünge geholfen.
ja, aber wieg gesagt, das Problem tritt nur sporadisch auf.
Ein ähnliches Verhalten ist mir bei meinen Formularen (ich betreibe mehrere MySQL-Datenbanken mit PHP/Javascript über Apache) noch nicht passiert. Mich würde dazu genauer auch das JavaScript Code-Schnipsel interessieren. Denn wenn beim Server nichts ankommt muss das meines Erachtens unter bestimmten Umständen vorher entfernt worden sein.
hier der Javascript-Code function chkLoginForm() // Alle Felder mussen belegt sein // Führende und folgende Leerzeichen werden entfernt { var fields = new Array ("loginName", "loginPassword"); if(document.loginForm.Button == "cancel") { return true; } for (var f in fields) { fo = document.getElementById (fields[f]); // führende und folgende Leerzeichen entfernen fo.value = fo.value.replace (/^ */,""); fo.value = fo.value.replace (/ *$/,""); if (fo.value == "") { alert("Bitte füllen Sie dieses Feld aus."); fo.focus(); return false; } } return true; } Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer