login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Php] Form Controle (Opgelost)

Offline Simax - 11/01/2008 14:55 (laatste wijziging 11/01/2008 14:56)
Avatar van SimaxOnbekend Beste mensen,

Ben voor een bedrijf een formulier aan het scripten, maar aangezien deze vrij groot is zit ik met een probleem..

Ik zou graag een makkelijke manier hebben om alle verplichte_velden(array) te controleren op waarde(wel ingevuld). En als dit niet het geval is deze toevoegen aan errors(array).

Een beter idee is ok altijd welkom.
Iemand die mij kan helpen?

Alvast bedankt .

7 antwoorden

Gesponsorde links
Offline Rik - 11/01/2008 15:06
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je kan het (heel basic) zo doen:
  1. $need = array('naam', 'email', 'enz');
  2. $errors = array();
  3. foreach ($need as $key) {
  4. if (empty($_POST[$key])) {
  5. $errors[] = $key;
  6. }
  7. }
  8. echo 'De volgende velden zijn verplicht: ' . implode(', ', $errors);
Offline Simax - 11/01/2008 15:10
Avatar van Simax Onbekend Is het dan ok mogelijk om voor iedere error(verplicht veld, wat niet is ingevuld) een melding weer te geven?

- Voorbeeld
  1. Voorbeeld1 is niet ingevuld.
  2. Voorbeeld2 is niet ingevuld.
Offline Rik - 11/01/2008 15:13 (laatste wijziging 11/01/2008 16:03)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Zo dan:
  1. $need = array('naam', 'email', 'enz');
  2. $errors = array();
  3. foreach ($need as $key) {
  4. if (empty($_POST[$key])) {
  5. $errors[] = $key;
  6. echo $key . ' is niet ingevuld.<br />';
  7. }
  8. }


Edit:
@Stijn,
Jij was eerder maar het komt op hetzelfde neer. Het ligt er maar net aan wanneer je het wil laten zien, Jouw code is wrs handiger omdat je het formulier niet verder moet gaan verwerken als niet alle verplichte velden zijn ingevuld.

Edit 2:
Nu is het weer weg!  

Edit 3:
Typ fout weg gehaald. Dat krijg ik als ik niet test.  
Offline Simax - 11/01/2008 15:15 (laatste wijziging 11/01/2008 15:34)
Avatar van Simax Onbekend Zal het even testen, maar alvast bedankt voor je snelle hulp .

Edit
Dit is nu mijn code..
  1. if(isset($_FILES['voorbeeld']))
  2. {
  3. $verplicht = array("naam", "opdrachtgever");
  4. $errors = array();
  5.  
  6. foreach($verplicht as $waarde)
  7. {
  8. if(empty($_POST[$waarde]))
  9. {
  10. $errors[] = $waarde;
  11. echo $waarde "is niet ingevuld.";
  12. }
  13. }
  14. }


en de volgende error verschijnt..
Citaat:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:xampphtdocssimaxnew_project.php on line 30


Doe ik iets verkeerd? 
Offline XeriuM - 11/01/2008 15:36 (laatste wijziging 11/01/2008 15:37)
Avatar van XeriuM Lid
  1. echo $waarde "is niet ingevuld.";

maak daar is van:
  1. echo $waarde.' is niet ingevuld.';
Offline Simax - 11/01/2008 15:38 (laatste wijziging 11/01/2008 15:41)
Avatar van Simax Onbekend Klopt.. overheen gekeken .

Dankjewel .
Offline XeriuM - 11/01/2008 15:38
Avatar van XeriuM Lid Een bedankje was op z'n plaats... maar dat ter zijde!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.233s