ugrás a tartalomhoz

php form

olehid · 2012. Jún. 9. (Szo), 20.49
  1. else{  
  2.     $ures_nev = emptyempty($_POST["nev"];  
  3.     $ures_email = emptyempty($_POST["email"]);  
  4.     $ures_tszam = emptyempty($_POST["tszam"]);  
  5.         if ($ures_nev  || $ures_email  || $ures_tszam )   
  6.                 {  
  7.                     if($ures_nev == TRUE) echo "Név mező üres";  
  8.                 }  
  9.       
  10.            else echo "Minden mező kitöltése kötelező!";  
  11.     }  
Amikor kiakarom íratni, hogy melyik mező maradt üresen egyszerűen elakadtam, túl sok if-et nem akarok belerakni mert akkor nem fog 100%-osan működni.

Valakinek valami tipp, tapasztalat?
Köszi
 
1

A teljesség igénye nélkül, én

Kubi · 2012. Jún. 10. (V), 01.55
A teljesség igénye nélkül, én az alábbi módon oldanám meg, ha már nem használsz egy framework-öt sem, ami könnyítené a dolgodat (kód nincs tesztelve, tuti van benne hiba):
  1. // mezők  
  2. $formFields = array(  
  3.   'nev' => array(  
  4.     'type' => 'text',  
  5.     'label' => 'név',  
  6.     'required' => true  
  7.   ),  
  8.   'email' => array(  
  9.     'type' => 'text',  
  10.     'label' => 'név',  
  11.     'required' => true  
  12.   ),  
  13.   'tszam' => array(  
  14.     'type' => 'text',  
  15.     'label' => 'név',  
  16.     'required' => true  
  17.   ) // tb szám?  
  18. );  
  19.   
  20.   
  21. // default üres stringel feltöltjük a form értékeit  
  22. $formValues = array_fill_keys(array_keys($formFields), '');  
  23.   
  24. $formErrors = array();  
  25.   
  26. // post adatok kiolvasása, hiba ellenörzés  
  27. // $isPost = true, ha submit volt, pl $isPost = (isset($_POST['action] && $_POST['action'] == 'edit');  
  28. if ($isPost)  
  29. {  
  30.   foreach($formFields as $key => $options)  
  31.   {  
  32.     $formValues[$key] = isset($_POST[$key]) ? $_POST[$key] : '';  
  33.   
  34.     if ($options['required'])  
  35.     {  
  36.       // több hiba lehetőség esetén old meg úgy, hogy tömb legyen a hiba értéke  
  37.       $formErrors[$key] = 'Mező kitöltése kötelező';  
  38.     }  
  39.   }  
  40. }  
  41.   
  42. // form megjelenítése, hiba üzenetek a megfelelő form input mező mellett  
  43. // jelennek meg  
  44. foreach($formFields as $key => $options)  
  45. {  
  46.   echo "<div>";  
  47.   if (isset($formErrors[$key])  
  48.   {  
  49.     echo "<p>".$formErrors[$key]."</p>";  
  50.   }  
  51.   echo "<label for="{$key}">{$options['label']}</label>  
  52.   <input type='{$options['type']}' name='{$key}' value="{$formValues[$key]}" /> <br />";  
  53.   echo "</div>";  
  54.   
  55. }  
2

Respect

olehid · 2012. Jún. 10. (V), 16.05
Minden elismerésem a tiéd :D