Daniel: Einfache Frage zu if

Hallo ;)

Ist eigentlich in kleines Problem, aber würd gern wissen wie ihr das löst.

Ich hab ein Formular mit 3 Eingabefelder, entweder müssen alle leer sein, oder alle voll, wie prüft ihr das? ;)

danke
daniel

  1. Hallo Daniel,

    Ich hab ein Formular mit 3 Eingabefelder, entweder müssen alle leer
    sein, oder alle voll, wie prüft ihr das? ;)

    if(
      ($cgi->param('a') && $cgi->param('b') && $cgi->param('c'))
        ||
      (!$cgi->param('a') && !cgi->param('b') && !$cgi->param('c'))
    ) {
      # blub
    }

    Wenn es mehr werden können, in einer Schleife:

    my $empty = 0;
    my $full  = 0;
    foreach my $field ($cgi->param) {
      $empty = 1 if !$cgi->param($field);
      $full = 1 if $cgi->param($field);
    }

    die 'bad boy! The sky's gonna fall on your head.' if $full && $empty;

    Grüße,
     CK

    --
    Sein oder nicht sein, das ist hier die Frage!
    1. Hi,

      foreach my $field ($cgi->param) {
        $empty = 1 if !$cgi->param($field);
        $full = 1 if $cgi->param($field);
      }

      wobei zu beachten ist, dass hierbei ALLE Formularfelder durchlaufen werden. Wenn das Formular also noch weitere (außer den hier zu überprüfenden) Felder enthält, sollte man ein Array mit den Feldnamen fest im Skript anlegen und dieses durchlaufen.

      die 'bad boy! The sky's gonna fall on your head.' if $full && $empty;

      *fg*

      viele Grüße
        Achim Schrepfer

      --
      http://reskit.speedesign.de/ - PHP-Bibliothek zum automatischen Erzeugen von HTML-Tabellen, -Formularen und -Baummenüs anhand von MySQL-Tabellen
      Selfcode: sh:) fo:| ch:| rl:° br:> n4:{ ie:% mo:} va:| de:< zu:| fl:( ss:) ls:& js:|
      1. Danke! Das waren 2 gute Tipps.