Björn: 40 input-fields auf Fehler bzw Eingabe überprüfen ?

Hallo,

und zwar:

Auf einer Seite hat der User die Möglichkeit verschiedene Artikel in input-boxen(text) einzugeben.

Er muß eingeben: Anzahl, Hersteller, Artiklemodell, Code
Ihm stehen insgesamt 10 Spalten zu Verfügung (also insg.40 Input-Boxen),er muß aber natürlich nicht alle 40 Boxen ausfüllen.

die Userangabe "Hersteller" ist optional, alle anderen Angaben muß er in der Spalte ausfüllen,
also: z.B.: gibt er in einer Box die "Anzahl" ein, muß er in der Spalte auch "Artikelmodell" und "Code" angeben,

Gibt er in einer Spalte "Code" und "Anzahl" ein, muß er auch "Arikelmodell" eingeben

usw (mit den versch. Kombinationen).

Ich denke ein(ige) isset() -Abfragen sin hier angebracht, aber je länger ich darüber nachdenke, desto mehr Abfragen bekomme ich zusammen....(oh Gott)

Gibt es eine elegante Lösung, vielleicht mit Array's, wie ich die Inputboxen checken kann mir fällt dazu nix ein..bin verwirrt.
..%-)

Danke für jeden Tip!

Björn

  1. Hallo Björn,

    Ich denke ein(ige) isset() -Abfragen sin hier angebracht

    Eher empty, oder - falls 0 ein erlaubter Wert sein soll - eine eigene Überprüfung (wie z.B. == '')

    Gibt es eine elegante Lösung, vielleicht mit Array's, wie ich die Inputboxen checken kann mir fällt dazu nix ein..

    Nenne die Spalten

    anzahl[0] bis anzahl[9]
    hersteller[0] bis hersteller[9]
    artikelnr[0] bis artikelnr[9]
    code[0] bis code[9]

    Danach:

    // gehe alle Spalten durch
    for ($i = 0; $i < 10; $i++) {

    if (!empty ($_POST['anzahl'][$i]) || !empty ($_POST['hersteller'][$i]) || !empty ($_POST['code'][$i]) {
        // diese Spalte besitzt mindestens ein ausgefülltes Feld

    if (empty ($_POST['anzahl'][$i]) || empty ($_POST['hersteller'][$i]) || empty ($_POST['code'][$i])) {
          // diese Spalte besitzt mindestens ein *un*ausgefülltes Feld

    } else {
          // diese Spalte hat alle Felder ausgefüllt

    } // ende nichtausgefülltes Feld
      } // ende ausgefülltes Feld
    } // ende Schleife

    Viele Grüße,
    Christian

    1. das müsste es sein..

      herzl. Dank

      Gruß

      Björn