[php]In 1 check kijken of hele formulier is ingevuld

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste mensen,

Ik ben al enige tijd met PHP bezig en nu wil ik eigenlijk iets heel simpels doen maar ik kan het niet vinden via de search. Mijn vraag is namelijk:

Is het mogelijk om met 1 check te kijken of ALLE velden in een formulier zijn ingevuld. Normaal gebruik ik zoiets

if {($naam == "") || ($leeftijd == "") || ($email == "") etc... }

maar nu wil ik dat dus met 1 check doen, dus bv zo

if { ($heleformulier == "")
echo "vul alles in"
}
else {} ...

Het moet mogelijk zijn lijkt mij, alleen weet ik ff niet hoe

Bij voorbaat dank alvast :)

[ Voor 7% gewijzigd door Verwijderd op 14-03-2003 15:12 ]


Acties:
  • 0 Henk 'm!

  • Tielenaar
  • Registratie: Oktober 2001
  • Laatst online: 27-06 21:05
Verwijderd schreef op 14 March 2003 @ 15:12:
Beste mensen,

Ik ben al enige tijd met PHP bezig en nu wil ik eigenlijk iets heel simpels doen maar ik kan het niet vinden via de search. Mijn vraag is namelijk:

Is het mogelijk om met 1 check te kijken of ALLE velden in een formulier zijn ingevuld. Normaal gebruik ik zoiets

if {($naam == "") || ($leeftijd == "") || ($email == "") etc... }

maar nu wil ik dat dus met 1 check doen, dus bv zo

if { ($heleformulier == "")
echo "vul alles in"
}
else {} ...

Het moet mogelijk zijn lijkt mij, alleen weet ik ff niet hoe

Bij voorbaat dank alvast :)
Ik denk dat het wel kan met de HTTP_POST_VARS array, daar staan ze allemaal in, kan je gewoon in een loopje zetten en kijken welke er 0 is.

EDIT: het kan natuurlijk ook met javascript voordat je de pagina submit! voor dat soort scripts moet je op http://javascript.internet.com zijn in de FORMS sectie.

[ Voor 13% gewijzigd door Tielenaar op 14-03-2003 15:19 ]


Acties:
  • 0 Henk 'm!

  • TRON
  • Registratie: September 2001
  • Laatst online: 16-09 13:13
Dit is ook een oplossing van je probleem, maar ik weet niet of je dit ook goed vindt, maar dit is één van de manieren waarop het het makkelijkste zou werken nl...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
function check()
{

if ($_POST["var_a"] == "") { $error = 1;}
if ($_POST["var_b"] == "") { $error = 1;}
if ($_POST["var_c"] == "") { $error = 1;}
if ($_POST["var_d"] == "") { $error = 1;}
return $error;
}
if (check() == 1) { // ERROR MSG; }
?>

[ Voor 36% gewijzigd door TRON op 14-03-2003 15:29 . Reden: eigenlijk helemaal geen, of toch wel? er moets immers nog iets bij gezet worden. Niet in het script hoor, maar in de inleiding zeg maar... Lekker belangrijk zou je denken... tja... eigenlijk wel een heel klein beetje hoor. (<B>test</b>)[b]test ]

Leren door te strijden? Dat doe je op CTFSpel.nl. Vraag een gratis proefpakket aan t.w.v. EUR 50 (excl. BTW)


Acties:
  • 0 Henk 'm!

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function checkFormValues( $values = $_POST )
{
    $errors = array();

    if ( empty( $values['Name'] ) )
        $errors[] = 'U heeft geen naam ingevuld';

    if ( empty( $values['Leeftijd'] ) )
        $errors[] = 'U heeft geen leeftijd ingevuld';
    else if (! (is_numeric( $values['Leeftijd'] ) && $values['Leeftijd'] > 10 && $values['Leeftijd'] < 100 ) )
        $errors[] = 'U heeft een ongeldige leeftijd ingevuld ';

    return $errors;
}


Lege array = geen fouten.. anders je errors weergeven... B)

On track


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
foreach($_POST as $key => $value) {
  if(empty($value)) exit ("Niet alles ingevuld");
}

Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Verwijderd schreef op 14 March 2003 @ 16:03:
PHP:
1
2
3
foreach($_POST as $key => $value) {
  if(empty($value)) exit ("Niet alles ingevuld");
}
net te laat :P

Iets uitgebreider ivm error reporting

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
foreach($_POST as $name => $value ) {
   if(empty($value)) {
        $error[] = $name ."&nbsp;is required";
   
   }
}

if(empty($error)) {
    echo("alles ok");
} else {
    foreach($error as $output) {
        echo("<li>".$output."</li>");
    }
}

Ja man


Acties:
  • 0 Henk 'm!

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Bij jou zijn dus alle verden verplicht... en verder wordt bij jou 'bla bla' als leeftijd goedgekeurd zodat je vervolgens weer de errors van de DB kan gaan afvangen.. :)

En je foutmeldingen zijn nou ook niet echt gebruiksvriendelijk te noemen.. :)

[ Voor 55% gewijzigd door WouZz op 14-03-2003 16:20 ]

On track


Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Lijkt me idd ook geen verstandige keuze :P

Maar als het je wens is is dit de mannier om het op te lossen ;)

Ja man


Acties:
  • 0 Henk 'm!

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

LOST_GUNT schreef op 14 March 2003 @ 16:19:
Lijkt me idd ook geen verstandige keuze :P

Maar als het je wens is is dit de mannier om het op te lossen ;)
Ik heb ook nog wel wat onverstandige keuzes klaar liggen.. maar die ga ik hier niet als oplossing voor een probleem aandragen... :)

On track


Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Ach het is aan mij niet te bepalen wat verstandig is voor hem :P

Hij vraagt
Is het mogelijk om met 1 check te kijken of ALLE velden in een formulier zijn ingevuld. Normaal gebruik ik zoiets
En hij krijgt netjes antwoord B)

* BierPul neemt aan dat de topictstarter zelf ook wel weel dat het niet de ideale wijze van werken is O-)

[ Voor 18% gewijzigd door BierPul op 14-03-2003 16:56 ]

Ja man

Pagina: 1