php formulardaten nicht versenden wenn leer

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.


Evolution48 
Beitragsersteller
 05.03.2015, 09:09

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 :

<?php
if (empty($_POST["vorname"]) || $_POST["nachname"] || $_POST["schluessel"])
{
echo "Füllen Sie bitte alle Felder aus";
}
if (!empty($_POST["vorname"]) || $_POST["nachname"] || $_POST["schluessel"]) {
echo "Dein Vorname lautet " . $_POST["vorname"] . ", 
dein Nachname lautet " . $_POST["nachname"] . ",
und dein Passwort ist " . $_POST["schluessel"] . "!";
}
?> 

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..

0
ArchEnema  05.03.2015, 09:13
@Evolution48

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.

0