Frage wenn etwas nicht zutrifft / Aktion nicht weiter führen

  • Guten Tag,


    meine Frage ist es , wie ist es möglich, wenn etwas fehlschlägt das die Aktion dann nicht weitergeht. Hier ein Beispiel von mir:



    if(empty(trim($_POST['name']))) {
    echo " Das Feld des Namen ist leer. ";
    }
    elseif(strlen($_POST['name']) < 3) {
    echo " Der Name darf nicht kürzer als 3 Zeichen sein.";
    }


    if(empty(trim($_POST['new-name']))) {
    echo " Das Feld des New-Name ist leer. ";
    }
    elseif(strlen($_POST['new-name']) < 3) {
    echo " Der New-Name darf nicht kürzer als 3 Zeichen sein.";
    }


    Wenn ich z.B einfach auf Senden drücke und die Felder leer lasse dann sagt er mir:
    Das Feld des Namen ist leer. Das Feld des New-Name darf nicht leer sein.


    Ich möchte aber das er das Schritt für Schritt macht. Wenn das Feld Name und der New-Name leer ist dann soll er erstmal nur sagen das, dass Feld Name leer ist und nicht direkt beides.


    Man könnte es auch zsm fassen wie if(empty(trim($_POST['name'])) && empty(trim($_POST['new-name'])) und sagen das man alle Plichtfelder ausfüllen muss aber dann passt es mit mein Skript nicht deswegen Frage ich es jetzt hier mal.

  • Hey strong97- wann soll er das Programm das mit dem nicht kürzer als 3 Zeichen sein denn ausgeben? Rein logisch betrachtet hast du ja definiert, dass die Meldung kommen soll, wenn das Feld leer ist, ist ja klar, dass dann beide Meldungen kommen, wenn du es leer lässt.
    Du könntest für die zweite Meldung als Bedingung stattdessen z.B. definieren, dass sie ausgegeben wird, wenn die erste Meldung ausgegeben wird. Dadurch hättest du die gewünscht zwei separate Vorgänge, die hintereinander stattfinden

  • Wenn ich das richtig sehe, brauchst Du mit der Verkettung durch elseif nur weiterzumachen: