login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Check formulier (Opgelost)

Offline WouterJ - 19/03/2010 10:23
Avatar van WouterJHTML gevorderde Hallo,

Ik ben bezig met mijn eerste formulier in PHP.
Nu heb ik hem af, maar ik wil alle vakken laten checken.
Ik heb dat nu gedaan met:Plaatscode: 138897
Dat werkt niet, hoe moet ik dat werkend krijgen? 

12 antwoorden

Gesponsorde links
Offline Ontani - 19/03/2010 10:25
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Waar kom $NaaM van? Hoe vul je die op?
Offline WouterJ - 19/03/2010 10:30
Avatar van WouterJ HTML gevorderde
Ontani schreef:
Waar kom $NaaM van? Hoe vul je die op?

In mijn formulier heb ik dit staan:Plaatscode: 138898
En bij de uitwerking van het formulier dit:Plaatscode: 138899
Offline Wave6 - 19/03/2010 13:23 (laatste wijziging 19/03/2010 13:25)
Avatar van Wave6 PHP beginner Hallo Waldio

Je spreekt je zelf erg tegen in je code.

Je definieert je de variabele $NaaM met $_POST['naam'].
Hier door bestaat de variabele naam...

Vervolgens vraag je in de andere code of $NaaM bestaat...en of $NaaM groter is als 3 karakters (deze bestaat want je hebt hem eerder gemaakt met $_POST['naam']).
Maar als $_POST['naam'] leeg is. Dan wordt de waarde van naam altijd false
Dus je statement klopt niet.
Want de variabele $NaaM die bestaat altijd!
als variabele $NaaM false is... dan heeft die ook meer als 3 karakters...(false=5).
PHP is niet echt type gevoelig... dus je kan beter vragen

  1. if(isset($_POST['naam'])
  2. $NaaM = addslashes($_POST['naam']);
  3. }
  4.  
  5. //Dan zet je dit in je andere code.
  6. if(!empty($NaaM)) {
  7. echo "success";
  8. } else {
  9. echo "naam is leeg";
  10. }


Succes 
Offline WouterJ - 19/03/2010 15:11
Avatar van WouterJ HTML gevorderde
Wave6 schreef:
[..code..]

Succes 

Als ik dit doe krijg ik een fout bij $NaaM = addslashes($_POST['naam']) 
Ik zou niet weten wat er fout aan is..

parse error, unexpected T_VARIABLE in afhandeling.php on line 41
Offline Ontani - 19/03/2010 15:31
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Letterlijk gekopieerd wss, Wave6 is op z'n eerste regel na de if een { vergeten.
Offline WouterJ - 19/03/2010 15:45
Avatar van WouterJ HTML gevorderde
Ontani schreef:
Wave6 is op z'n eerste regel na de if een { vergeten.
Als ik if { (........ doe krijg ik een fout melding en als ik if (......) { doe krijg ik ook een foutmelding.
Offline pijke - 19/03/2010 15:56 (laatste wijziging 19/03/2010 15:56)
Avatar van pijke Gouden medaille

Lid
zo moet hij het doen:
  1. if(isset($_POST['naam']) {
  2. $NaaM = addslashes($_POST['naam']);
  3. }
  4.  
  5. //Dan zet je dit in je andere code.
  6. if(!empty($NaaM)) {
  7. echo "success";
  8. } else {
  9. echo "naam is leeg";
  10. }
Offline Wave6 - 19/03/2010 16:09
Avatar van Wave6 PHP beginner Dan moet je je hele code posten...
Offline TotempaaltJ - 19/03/2010 16:48
Avatar van TotempaaltJ PHP interesse
Wave6 schreef:
als variabele $NaaM false is... dan heeft die ook meer als 3 karakters...(false=5).
PHP is niet echt type gevoelig... dus je kan beter vragen
Dit slaat natuurlijk nergens op. Als een _POST waarde niet is ingevuld, wordt hij wel opgestuurd, maar dan als een lege string. Dan zal $NaaM dus "" worden.
Ook, als je een False/True door de strlen haalt betekent dat niet dat het woord False of True wordt geteld, zie deze bug report voor meer info.

Wat ik niet snap is waarom in hemelsnaam de eerste en laatste letter in hoofdletters?
Offline Ontani - 19/03/2010 19:32
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
is er niemand die denkt dat een isset ook afgesloten moet worden?
if ( isset ( ... ) ) {
...
} else {
...
}
Bedankt door: WouterJ
Offline Jelmerholland - 19/03/2010 19:47
Avatar van Jelmerholland PHP beginner addslashes() is toch een verouderde vorm van veiligheid? Ik weet niet wat de goede is, maar daar staat me iets van bij. Of heb ik dat mis?
Offline source36 - 22/03/2010 22:09
Avatar van source36 Nieuw lid Ik denk dat je gewoon bij (strlen($var) = <3) er IF voor moet zetten; dus:
if(strlen($var) = <3)

Ik denk dat het dan wel werkt  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s