[PHP] lange if-statement korter?

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

  • RickyHeijnen
  • Registratie: Maart 2005
  • Laatst online: 30-04-2025
Ik zit met een hele lange if-statement waarbij elke keer ongeveer hetzelfde gebeurt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        if(empty($_POST['voornaam'])){
                $error_voornaam = "Dit veld is verplicht.";
                $form = true;
        }

        if(empty($_POST['achternaam'])){
                $error_achternaam = "Dit veld is verplicht.";
                $form = true;
        }

        if(empty($_POST['emailadres'])){
                $error_emailadres = "Dit veld is verplicht.";
                $form = true;
        }

        if(empty($_POST['land'])){
                $error_land = "Dit veld is verplicht.";
                $form = true;
        }

        if(empty($_POST['provincie'])){
                $error_provincie = "Dit veld is verplicht.";
                $form = true;
        }

        if(empty($_POST['gemeente'])){
                $error_gemeente = "Dit veld is verplicht.";
                $form = true;
        }


Nu is mijn vraag of er een korte manier is van opschrijven, aangezien dit nogal veel regels is :P.
Ik dacht zelf iets aan:

code:
1
$error_voornaam = (empty($_POST['voornaam'])) ? "Dit veld is verplicht." : false;

Ik weet alleen niet hoe ik dan de variabele $form op true kan zetten.

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
Zo zou ik het ongeveer aangepakt hebben :). Die errors afhandelen kan misschien beter dmv een functie call maar het idee lijkt me duidelijk
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$InputError = array('gemeente' => 'Het gemeente veld is verplicht');
$Errors = array();

foreach($InputError as $Key => $Error)
{
     if(empty($_GET[$Key]))
     {
          $Errors[] = $Error;
     }
}

foreach($Errors as $Error)
{
     echo 'Fout! ' . $Error;
}

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Ooit gehoord van de or-operator? :? Zoek die maar eens op in de handleiding, dan kom je er wel uit. Je vraag is verder nogal van een basisniveau, en dat achten we in Programming & Webscripting bekend, en daarom doe ik dit topic op slot. :)

Edit: oh, wacht, je stopt je errors in aparte variabelen, dat had ik niet gezien. Hoe dan ook is ook de oplossing van PrisonerOfPain hierboven redelijk makkelijk te vinden wanneer je gewoon de documentatie goed doorkijkt, dus het slotje blijft staan. :)

[ Voor 29% gewijzigd door NMe op 15-06-2005 21:05 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.