IF Problem
kleiner hobbit
- php
0 Deus Figendi0 Auge0 Rouven
Hallo,
ich habe wieder mal ein kleines Problem, wo ich nicht weiter komme. Ich habe ein Formular, dort sind Name, Nachname, Email und Telefon.
Dabei habe ich mir folgendes gedacht, dass Name und Nachname aufjedenfall ausgefüllt sein sollen und dann entweder Email oder Telefon
Nun habe ich diese If Anweisung, leider klappt es nicht...
if(empty($_POST['Name]) and empty($_POST['Nachname']) or empty($_POST['Email']) or empty($_POST['Telefon']))
{
echo "nicht alles richtige ausgefüllt";
}
Viele Grüße
kleiner hobbit
Hallo,
Hallo
if(empty($_POST['Name]) and empty($_POST['Nachname']) or empty($_POST['Email']) or empty($_POST['Telefon']))
{
echo "nicht alles richtige ausgefüllt";
}
Überprüfe deine Klammer- und Hochkomma-Setzung.
--
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ\_de:] zu:) fl:( ss:| ls:[ js:(
Hallo
Klabustern wir das mal auseinander:
if(
// Wenn der Name nicht angegeben wurde ...
empty($_POST['Name'])
// ... und der Nachname nicht angegeben wurde ...
and empty($_POST['Nachname'])
// ... oder die Emailadresse nicht angegeben wurde ...
or empty($_POST['Email'])
// ... oder die Telefonnummer nicht angegeben wurde ...
or empty($_POST['Telefon']))
// ... dann ...
Du gruppierst die Bedingung falsch. Da beide Namensfelder ausgefüllt werden \*müssen\*, müssen sie zu einer Gruppe zusammengefasst werden. Weiterhin darf von den beiden Angaben zu Emailadresse und Telefon nur eine fehlen. Wenn eine fehlt, muss die andere vorhanden sein. Zudem würde ich die Abfrage nach dem Vorhandensein der Angaben ausrichten.
~~~php
if (
// Wenn beide Namensangaben vorhanden sind ...
(!empty($_POST['Name']) and !empty($_POST['Nachname']))
// ... und die Emailadresse *oder* die Telefonnummer fehlt
and (!empty($_POST['Email']) or !empty($_POST['Telefon']))
// ... verarbeite die Daten (weitere Prüfung der Daten auf Plausibilität!),
// else würde so die Zurückweisung der Eingaben bedeuten
Tschö, Auge
Hello,
Dabei habe ich mir folgendes gedacht, dass Name und Nachname aufjedenfall ausgefüllt sein sollen und dann entweder Email oder Telefon
arbeite an deinem logischen Verständnis. Du möchtest
(Name UND Nachname) UND (Email ODER Telefon)
Was ist das Gegenteil davon? Jede Bedingung negiert und die Operatoren negiert
(kein Name ODER kein Nachname) ODER (keine Email UND kein Telefon)
MfG
Rouven