40 input-fields auf Fehler bzw Eingabe überprüfen ?
Björn
- php
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
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
das müsste es sein..
herzl. Dank
Gruß
Björn