checkinput-functie

Gesponsorde koppelingen

PHP script bestanden

  1. checkinput-functie

« Lees de omschrijving en reacties

De code van de functie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
function checkInput() {
/*
Auteur: Willem-Aart van Dorpen
Datum: 21-12-2006
Omschrijving: functie controleert of formulier-velden die met een
                POST request zijn verzonden allemaal ingevuld zijn,
                als dat wel zo is geeft 'ie de waarde true, en anders
                stuurt 'ie de array met velden die nog niet ingevuld zijn.
Gebruik: checkInput( (namen van formulier velden <puntkomma> namen met markup) );
*/

    //Vang de argumenten af die gebruikt worden tijdens het
    //aanroepen van de functie

    $funcArgs = func_get_args();
    
    //Zorg dat de argumenten ge-explode worden op een puntkomma, en zet
    //de uitkomst in een multi-dimensional array

    foreach($funcArgs as $key => $value) {
        $arrInput[] = explode(";",$funcArgs[$key]);
    }

    
    //Verwijder alle spaties en witregels vóór en ná alle items
    //in de $_POST array

    foreach($_POST as $key => $value) {
        $_POST[$key] = trim($value);
    }

    
    //Maak een array aan waarin alle velden komen te staan die
    //leeg zijn

    $arrEmptyField = array();
    
    //Loop de gehele input van de functie door, en mochten
    //er velden zijn die nog niet ingevuld zijn, zet die in
    //de array $arrEmptyField.

    foreach($arrInput as $input) {
        if(empty($_POST[$input[0]])) {
            $arrEmptyField[] = $input[1];
        }
    }

    
    //Als alle velden ingevuld zijn, return de waarde true,
    //anders een array met veldnamen

    if(count($arrEmptyField) > 0) {
        return $arrEmptyField;
    }
else {
        return true;
    }
}

?>


Uiteraard ben je nu wel benieuwd hoe je dit kunt gebruiken, vandaar een voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$_POST
['straatnaam'] = "Dorpsstraat 53";
$_POST['huisnummer'] = ""; //oeps, vergeten :-) !
$_POST['telnr'] = "0528-358486";

$formCheck = checkInput("straatnaam;Straatnaam","huisnummer;Huisnummer","telnr;Telefoonnummer");
if($formCheck != 1) {
    echo "Je hebt de volgende velden niet ingevuld: <br />";
    foreach($formCheck as $value) {
        echo $value."<br />";
    }
}
else {
    echo "Formulier succesvol gevalideerd.";
}

?>


Normaal doe je dit natuurlijk met een formulier, maar voor de handigheid heb ik maar even wat $_POST data gefaked. Ga er maar eens mee spelen, en als je het niet begrijpt dan hoor ik het wel.

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.