[PHP] , verplichte invoervelden in formulier

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sniklaas
  • Registratie: November 2003
  • Laatst online: 02-02-2019
Ik bezig met een formulier aan het uitbreiden , en met dat formulier kunnen mensen zich inschrijven voor een bepaalde wedstrijd.

Allereerst kiest men voor deelname met licentie of zonder licentie, wanneer men kiest voor de 1e optie, en men aangeeft dat men lid is van de bond , en men geen nummer invult , dan verschijnt de melding dat men geen licentienummer heeft ingevuld, en kan men weer terug naar het formulier om een geldig licentienummer in te vullen.

Wanneer men in het veld voor licentienummer geen geldig nummer invult, volgt vanzelf de melding dat er geen geldig nummer is ingevuld , omdat daar een check in een mysql database voor wordt gedaan.

Echter wanneer men kiest voor deelname zonder licentie, en men aangeeft niet lid te zijn van de bond en men dus ook geen licentienummer in kan vullen, dan blijft de melding komen dat er geen geldig licentienummer is ingevuld.

Voor bovenstaande gebruik ik het volgende script :

if ($sw=="Test Triathlon NTB-licentie") { if ($ntb==$null) { die("Error - U heeft niet aangegeven lid te zijn van de NTB<h5><a href='javascript:history.back()'><font COLOR='LIME'>Terug</a></h5></font>");
}
}

if ($ntb==$ja) { if ($lic==$null) { die("Error - U heeft geen NTB Licentienummer ingevuld <h5><a href='javascript:history.back()'><font COLOR='LIME'>Terug</a></h5></font>");
}

}

if ($sw=="Test Triathlon Dag-licentie") { if ($ntb!=$ja) { if ($lic==$null);

}

}

$sql = mysql("*************" , "select * from licentie where licentienummer = '$lic'");
$res2 = mysql_num_rows($sql);
if ($res2 == $null) { die("ERROR - U heeft geen geldig licentienummer opgegeven ! <h5><a href='javascript:history.back()'><font COLOR='LIME'>Terug</a></h5></font>");
}


Dit is de link waar bovenstaande script zou moeten gaan draaien :
http://www.triathlonaalsm...thlon/test/invoertest.php


Ik heb al van alles geprobeerd , maar hij blijft komen met de melding dat er geen geldig nummer is ingevuld, terwijl het de bedoeling is dat wanneer men aangeeft zonder licentie mee te willen doen , en aangeeft niet lid te zijn van de bond , je door moet gaan naar de volgende vraag.


Wie o wie zou mij op weg kunnen helpen ???

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Je weet het verschil tussen $null en null? En wat is $ja?
Controleer je ook of je query wel uitgevoerd wordt? Zit er geen fout in je uiteindelijke query?
Heb je P&W FAQ - Leer **** debuggen!! al eens doorgelezen?
En wat heb je allemaal al geprobeerd? Wat ging daar mee mis?
En ken je de code tags? Dat maakt je code een stuk leesbaarder:
code:
1
2
op deze manier dus
  ook inspringen werkt ;)


offtopic:
Meer vragen in 1 post kon ik niet kwijt geloof ik :P

[ Voor 103% gewijzigd door Creepy op 12-01-2005 16:28 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Mysteryman
  • Registratie: Februari 2001
  • Laatst online: 21-09 11:44

Mysteryman

kan jij wat ik kan...

als je nou eens probeerd:

code:
1
2
3
4
5
6
$sql = mysql("*************" , "select * from licentie where licentienummer = '$lic'");
$res2 = mysql_num_rows($sql);

if ($res2 <> 1) { 
        die("ERROR - U heeft geen geldig licentienummer opgegeven ! <h5><a  hreff='javascript:history.back()'><font COLOR='LIME'>Terug</a></h5></font>");
}

[ Voor 22% gewijzigd door Mysteryman op 12-01-2005 16:28 ]

Everybody happy??? I soon change that here we go...


Acties:
  • 0 Henk 'm!

  • sniklaas
  • Registratie: November 2003
  • Laatst online: 02-02-2019
Mysteryman schreef op woensdag 12 januari 2005 @ 16:27:
als je nou eens probeerd:

code:
1
2
3
4
5
6
$sql = mysql("*************" , "select * from licentie where licentienummer = '$lic'");
$res2 = mysql_num_rows($sql);

if ($res2 <> 1) { 
        die("ERROR - U heeft geen geldig licentienummer opgegeven ! <h5><a  hreff='javascript:history.back()'><font COLOR='LIME'>Terug</a></h5></font>");
}
nope dat gaat niet lukken, wanneer je dit doet checkt ie niet eens meer of je eventueel ingevulde licentienummer wel juist is

Acties:
  • 0 Henk 'm!

  • Wacky
  • Registratie: Januari 2000
  • Laatst online: 05-09 21:19

Wacky

Dr. Lektroluv \o/

sniklaas schreef op donderdag 13 januari 2005 @ 08:30:
[...]


nope dat gaat niet lukken, wanneer je dit doet checkt ie niet eens meer of je eventueel ingevulde licentienummer wel juist is
Wel :P

Hij kijkt namelijk hoeveel rijen met dat licentienummer bestaan (mysql_num_rows). Als het aantal rijen niet gelijk is aan 1 (<> 1) dan is het licentienummer niet geldig. Daarentegen, als een licentienummer 2 keer voorkomt is deze ook niet geldig (2 <> 1 namelijk) :)

Nu ook met Flickr account


Acties:
  • 0 Henk 'm!

  • sniklaas
  • Registratie: November 2003
  • Laatst online: 02-02-2019
Wacky schreef op donderdag 13 januari 2005 @ 08:32:
[...]


Wel :P

Hij kijkt namelijk hoeveel rijen met dat licentienummer bestaan (mysql_num_rows). Als het aantal rijen niet gelijk is aan 1 (<> 1) dan is het licentienummer niet geldig. Daarentegen, als een licentienummer 2 keer voorkomt is deze ook niet geldig (2 <> 1 namelijk) :)
Uiteindelijk moet ie dus de stap (check geldig licentienummer) overslaan , wanneer men in het begin kiest voor deelname zonder licentie

Acties:
  • 0 Henk 'm!

  • SilencerNL
  • Registratie: Juli 2002
  • Laatst online: 20:56

SilencerNL

No remorse

Gewoon controle om Mysteryman's stukje maken:
PHP:
1
2
3
4
5
6
7
8
9
10
if($ntb == "ja") 
{
     $sql = mysql("*************" , "select * from licentie where licentienummer = '$lic'");
     $res2 = mysql_num_rows($sql);

     if ($res2 <> 1) 
     { 
        die("ERROR - U heeft geen geldig licentienummer opgegeven ! <h5><a  hreff='javascript:history.back()'><font COLOR='LIME'>Terug</a></h5></font>");
     }
}

Don't dream your life, live your dreams!


Acties:
  • 0 Henk 'm!

  • DRaakje
  • Registratie: Februari 2000
  • Niet online
PHP:
1
2
3
if($met_licentie_meedoen == TRUE AND $sqlresult != 1){
echo("foute licentie");
}

[ Voor 8% gewijzigd door DRaakje op 13-01-2005 10:12 ]


Acties:
  • 0 Henk 'm!

  • sniklaas
  • Registratie: November 2003
  • Laatst online: 02-02-2019
Silencer_NL schreef op donderdag 13 januari 2005 @ 09:56:
Gewoon controle om Mysteryman's stukje maken:
PHP:
1
2
3
4
5
6
7
8
9
10
if($ntb == "ja") 
{
     $sql = mysql("*************" , "select * from licentie where licentienummer = '$lic'");
     $res2 = mysql_num_rows($sql);

     if ($res2 <> 1) 
     { 
        die("ERROR - U heeft geen geldig licentienummer opgegeven ! <h5><a  hreff='javascript:history.back()'><font COLOR='LIME'>Terug</a></h5></font>");
     }
}
Het werkt , ik heb er nog een if($blablabla) aan toegevoegd, die zegt wanneer men kiest voor deelname met daglicentie en lid te zijn te zijn van de ntb, dat dat een onmogelijke combinatie is .
Nu heb ik volgens mij alle mogelijke combinaties gehad, en kan het eigenlijk niet meer ,fout gaan.

thankz
Pagina: 1