php formulardaten nicht versenden wenn leer
tag auch - ich habe mir ein formular geschrieben das soweit funktioniert - ich habs auf 2 seiten ausgelagert, einmal auf eine index.php und eine seite2.php
die felder sind halt der vorname, nachname und das passwort
jetz ist es so egal was ich auf der index eingebe, es wird per POST an die seite2.php gesendet und per text ausgespruckt
mein problem ist jetz aber das mein formular auch leere felder annimmt und dann in der echo ausgabe z.B :
Ihr vorname ist ( hier sollte eig ein namen stehen aber da steht halt nichts )
wie kriege ich das hin? ich habe schon einiges versucht wie mit empty zu arbeiten oder == " " aber ohne erfolg.. könnt ihr mir evtl sagen was ergänzt werden muss?
code:
Gib hier deinen Vornamen ein Gib hier deinen Nachnamen ein Gib hier dein Passwort ein<input type="submit" name= "senden" value="Absenden">
1 Antwort
Das Absenden des Formulars kannst du mit PHP nicht verhindern, denn PHP läuft serverseitig. Du kannst bei leeren/ungültigen Feldern also serverseitig eine Fehlerseite an den Client zurückliefern, oder mittels Javascript clientseitig die Felder auf Validität prüfen, bevor sie an den Server gesendet werden. Dann bekommt der Server gar keine Formulare mit offensichtlich leeren/ungültigen Felder ab.
Na das empty() musst du um jeden der POST-Parameter packen. Das ist ein DeMorgan-Problem, kein PHP-Problem. ;-))
if (empty(a) || empty(b) || empty(c)) {
echo "Fehler";
} else {
echo "a: " + a + " b: " + b + " c: " + c;
}
http://de.wikipedia.org/wiki/De\_Morgansche\_Gesetze
Perspektivisch solltest du vielleicht eher im Fehlerfall auf die erste Seite (Eigabemaske) umleiten, und den Fehler dorthin übergeben.
so könnte man das auch machen aber das ist mir grad etwas umständlich.. ich habs nun so gemacht aber meine seite will noch nicht so ganz was ich will
auf der zweiten php seite steht nun :
funktioniert jetz auch fast wie ich will.. gebe ich nichts in die felder sagt er mir: füllen sie bitte alle felder aus
gebe ich in jedes feld was ein gibt er mir:
füllen sie bitte alle felder aus ihr vorname ist das und das ihr nachname das und das usw..