Inputfield checker

Door W W, 14 jaar geleden, 2.988x bekeken

Soms zie ik wel eens beginners een contact formulier maken met als veld controle dat ze voor elke veld een if/else if maken om deze te controleren. Hierdoor krijg je een bult code die ook makkelijk anders kan.

Met deze snippet kun je makkelijk met een foreach loopje een mooie foutmelding genereren en alle velden die niet correct zijn ingevuld (returned een array).

Gesponsorde koppelingen

PHP script bestanden

  1. inputfield-checker

 

Er zijn 9 reacties op 'Inputfield checker'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
PHP Newbie
PHP Newbie
14 jaar geleden
 
0 +1 -0 -1
Maar nu kan ik dus geen melding weergeven achter mijn tekstveld of mijn tekstveld een rood randje geven als er wat fout is.

Verder zou ik graag een voorbeeldje zien van hoe je deze controle met jouw class doet:

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
<?php
            if(!isset($_POST['aantal_tickets']))                    { $melding['aantal_tickets']         = 'Kies een aantal tickets'; }
                elseif(!ctype_digit($_POST['aantal_tickets']))        { $melding['aantal_tickets']         = 'Geef een geldig aantal tickets op'; }
                elseif($_POST['aantal_tickets'] > 15)                { $melding['aantal_tickets']         = '15 Tickets is het maximum'; }
        
            if(!isset($_POST['aantal_bustickets']))                    { $melding['aantal_bustickets']     = 'Kies een aantal tickets'; }
                elseif(!ctype_digit($_POST['aantal_bustickets']))    { $melding['aantal_bustickets']     = 'Geef een geldig aantal tickets op'; }
                elseif($_POST['aantal_bustickets'] > 15)            { $melding['aantal_bustickets']     = '15 Tickets is het maximum'; }
                
            if(empty($_POST['voornaam']))                            { $melding['voornaam']                = 'Geef je voornaam op'; }
            if(empty($_POST['achternaam']))                            { $melding['achternaam']            = 'Geef je achternaam op'; }
            if(empty($_POST['voorletters']))                        { $melding['voorletters']            = 'Geef je voorletters op'; }
            if(empty($_POST['adres']))                                { $melding['adres']                    = 'Geef je adres op'; }
            if(empty($_POST['postcode']))                            { $melding['postcode']                = 'Geef je postcode op'; }
                elseif(strlen($_POST['postcode']) != 7)                { $melding['postcode']                = 'Dit is geen geldige postcode'; }
            if(empty($_POST['woonplaats']))                            { $melding['woonplaats']            = 'Geef je woonplaats op'; }
            if(empty($_POST['telnr']))                                { $melding['telnr']                    = 'Geef je telefoonnummer op'; }
            if(empty($_POST['email']))                                { $melding['email']                    = 'Geef je e-mail adres op'; }
                elseif(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) == false)    { $melding['email'] = 'Geef een geldig e-mail adres op'; }
?>
W W
W W
14 jaar geleden
 
0 +1 -0 -1
Beste PHP Newbie,

Dit is inderdaad via dit systeem niet mogelijk. Je kunt het denk ik wel gebruiken en ombouwen wil je dit graag hebben. Nu ligt jouw PHP kennis wel heel wat hoger dan beginnende PHP'ers. En dit heb ik gepost voor beginnende PHP'ers zodat zij geen scripts maken met 200 regels code met Ifjes en Elseifjes om een formulier to controleren.
PHP Newbie
PHP Newbie
14 jaar geleden
 
0 +1 -0 -1
Het idee is goed, ik denk alleen dat je het nog wel wat verder uit kunt werken.

Met de code die ik hierboven postte wilde ik alleen even laten zien dat het controleren van 10 velden geen 200 regels code in beslag hoeft te nemen ;-)
W W
W W
14 jaar geleden
 
0 +1 -0 -1
Ik wil het verder laten uitwerken toch meer aan de mensen zelf overlaten. Sommige willen een rode rand om de inputveld, sommige willen foutmeldingen.
PHP Newbie
PHP Newbie
14 jaar geleden
 
0 +1 -0 -1
En sommige willen beide, maar het kan geen van beide met dit script.

Maar je hebt gelijk, dat kun je eventueel zelf nog we inbouwen.
PHP erik
PHP erik
14 jaar geleden
 
0 +1 -0 -1
@PHP Naabje
Het is algemeen bekend dat ik hou van OOP en niet van pOOP, maar ik zou 100x eerder de code van dit script gebruiken dan de sheize die jij net post :)

Pepijn, als jij van plan bent die door te ontwikkelen (wat zeer nuttig zou zijn voor veel PHPhulpers), ga dan ook eens kijken hoe Zend het oplost met Zend_Validate. Je hoeft het niet na te apen, maar het geeft je misschien goede idee├źn. Want Zend_Validate is weer een hele module en jouw scriptje is makkelijk en snel te gebruiken.
PHP Newbie
PHP Newbie
14 jaar geleden
 
0 +1 -0 -1
@Erik,

Prima dat je liever deze code gebruikt, maar deze code kan niet wat ik wil en ik zal dus wat anders moeten zoeken.
W W
W W
14 jaar geleden
 
0 +1 -0 -1
Ik wil het best verder door ontwikkelen met nog meer functies e.d. Maar dan post ik dat iets later want ik ben nu aardig druk :) Toch zal het wel handig zijn voor veel PHPHulpers idd
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Marien xD
Marien xD
14 jaar geleden
 
0 +1 -0 -1
Ik gebruik formhandler en zijn functies voor formulieren en validatie, telt dat ook ;)

Ik heb 1 keer de kracht van FormHandler ontdekt en wil nooit meer anders. Je zet 1 keer een goede opzet op en je rammelt zo een formulier in elkaar met goede validatie.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. inputfield-checker

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.