Űrlapkezelés, -feldolgozás
A form függvények használatával gyorsan, átlátható programkód mellett tudunk megjeleníteni űrlapot.
Ebben a cikkben továbblépünk és megmutatom, hogyan lehet az űrlap adatainak feldolgozását megvalósítani. A cél továbbra is az, hogy átlátható kódunk legyen és gyorsan tudjunk programozni.
A legtöbb esetben egyszerűen megvalósul, pl. megadták-e, a hossza megfelelő-e vagy illeszkedik-e valamilyen maszkra.
De hogyan tudassuk a felhasználóval, ha hibázik?
Ennek gyakori példája, ha az ellenőrzéskor jelenik meg a hibaüzenet, valahogy így:
if ( $nev == "" ) { echo "<br />HIBA! Add meg a neved!<br />"; } else if ( $telefonszam == "" ) { echo "<br />HIBA! Add meg a telefonszámodat!<br />"; } else { // rendben vannak az adatok }
Másik verzióban már használnak változót, de egyszerre csak egy hibaüzenet jelenik meg:
$hiba = ""; if ( $nev == "" ) $hiba = "<br />HIBA! Add meg a neved!<br />"; if ( $telefonszam == "" ) $hiba = "<br />HIBA! Add meg a telefonszámodat!<br />";
És ahol szükséges a megjelenítés, oda:
if ( $hiba != "" ) echo $hiba;
Egyszerű, működik, mégis érdemes egyszerre a felhasználónak a nyakába zúdítani az összes hibát, erre nem kell más, csak egy tömb:
$hiba = array(); if ( $nev == "" ) $hiba[] = "<br />HIBA! Add meg a neved!<br />"; if ( $telefonszam == "" ) $hiba[] = "<br />HIBA! Add meg a telefonszámodat!<br />";
És ahol szükséges a megjelenítés, oda:
if ( count($hiba) >0 ) echo implode("",$hiba);
Trükközhetünk a html formázással, ha nem a tömbbe pakoljuk a html kódot, hanem csak a kiírásnál formázzuk:
$hiba = array(); if ( $nev == "" ) $hiba[] = "HIBA! Add meg a neved!"; if ( $telefonszam == "" ) $hiba[] = "HIBA! Add meg a telefonszámodat!"; if ( count($hiba) >0 ) { echo "<br />Hibák:"; echo "<ul><li>".implode("<li>",$hiba)."</ul>"; echo "<br />"; }
Ha túl sok feltételt kell vizsgálni, akkor pedig csoportosítsuk aszerint, hogy milyen adat fontos. Például, ha van egy captchánk, akkor azt csak akkor érdemes vizsgálni, ha a többi ellenőrzésnél hiba nélkül jutott túl az ellenőrző.