Hallo alle
ich hab folgendes Script, das soweit funktioniert:
<?php
if (!empty($_POST["submit"])) {
$sql="INSERT INTO adressbuch " .
"(idbuch, land, name, vorname) VALUES ('', '$_POST[land]', " .
"'$_POST[name]', '$_POST[vorname]')";
if ($db->query($sql)) {
echo "<br><br>danke!;
}
else {
echo "ups da gibts einen fehler!";
}
}
?>
Das Formular soll jetzt validiert werden, d.h.
1. es MUSS ein Land ausgewählt werden
[2. es MUSS ENTWEDER der Vorname ODER der Nachname angegeben werden.]
Zuerst nur mal Punkt 1. Ich hab irgendwo gelesen, dass man z.b. das Land so prüfen könnte:
$counter=0;
//check
if ($land!=""){
echo "<p>ok</p>";}
else{
echo "bitte land angeben!";
$counter++;}
echo "<!--land checked -->\n";
Das klappt auch, aber:
hänge ich diese Codezeilen vor die oberen Codezeilen, dann gibt es beim Aufrufen der Seite, wo das Formular steht, zuerst immer die Fehlermeldung aus 'bitte landangeben'. Das sollte natürlich nicht sein. Zudem ist die zweite Bedingung unabhängig von der ersten. Egal, ob ich oben das Land angebe oder nicht. Wenn ich auf den 'absenden' knopf klicke, wird so oder so ein eintrag in der Datenbank gemacht.
Frage 2 ist also:
immer nur dann, wenn die Bedinung oben (dass in das Feld land etwas eingetragen wurde) erfüllt ist, wird ein Eintrag in der DB gemacht, sonst nicht...
wie geht das?
Danke für Eure Hilfe!
ich hab folgendes Script, das soweit funktioniert:
<?php
if (!empty($_POST["submit"])) {
$sql="INSERT INTO adressbuch " .
"(idbuch, land, name, vorname) VALUES ('', '$_POST[land]', " .
"'$_POST[name]', '$_POST[vorname]')";
if ($db->query($sql)) {
echo "<br><br>danke!;
}
else {
echo "ups da gibts einen fehler!";
}
}
?>
Das Formular soll jetzt validiert werden, d.h.
1. es MUSS ein Land ausgewählt werden
[2. es MUSS ENTWEDER der Vorname ODER der Nachname angegeben werden.]
Zuerst nur mal Punkt 1. Ich hab irgendwo gelesen, dass man z.b. das Land so prüfen könnte:
$counter=0;
//check
if ($land!=""){
echo "<p>ok</p>";}
else{
echo "bitte land angeben!";
$counter++;}
echo "<!--land checked -->\n";
Das klappt auch, aber:
hänge ich diese Codezeilen vor die oberen Codezeilen, dann gibt es beim Aufrufen der Seite, wo das Formular steht, zuerst immer die Fehlermeldung aus 'bitte landangeben'. Das sollte natürlich nicht sein. Zudem ist die zweite Bedingung unabhängig von der ersten. Egal, ob ich oben das Land angebe oder nicht. Wenn ich auf den 'absenden' knopf klicke, wird so oder so ein eintrag in der Datenbank gemacht.
Frage 2 ist also:
immer nur dann, wenn die Bedinung oben (dass in das Feld land etwas eingetragen wurde) erfüllt ist, wird ein Eintrag in der DB gemacht, sonst nicht...
wie geht das?
Danke für Eure Hilfe!
Kommentar