kleiner hobbit: IF Problem

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

  1. 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:(
    
  2. 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

    --
    Die deutschen Interessen werden am Liechtenstein verteidigt.
    Veranstaltungsdatenbank Vdb 0.3
  3. 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

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Let Bygones Be Bygones  --  Robert Pitscottie: "Chronicles of Scotland"