login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost] Controle resulteerd altijd !=

Offline Nrzonline - 30/07/2006 12:39 (laatste wijziging 30/07/2006 14:13)
Avatar van NrzonlinePHP ver gevorderde Hey SiMa Leute,

Ik heb een Captcha gemaakt (anti bot), maar als ik het input
veldje controleer, geeft hij elke keer aan als je wat invult (dus
ook de goede combinatie) dat hij ongeldig is. Ik ben al aan het
denken geweest, maar ik kan er helaas niet achter komen. Heeft
iemand een idee hoe ik dit kan oplossen?

Me code (ingekort en niet relevante code weg gelaten):
- register.php
  1. <?PHP
  2. // keygen.class.php IS geinclude.
  3. $tpl -> newBlock ("confirm_key");
  4. $confirm_key = $keygen -> keygenerator(rand (4,5), 3);
  5. $keygen -> imagecreator ($confirm_key);
  6. $tpl -> assign ( array ("CONFIRM" => $_LANG['SPLIT_T']['CONFIRM'],
  7. "CONFIRM_NOTE" => $_LANG['SPLIT_M']['CONFIRM'],
  8. "CONFIRM_IMG" => '<img src="temp/gen_key_img.png" alt="" />',
  9. "CONF" => $confirm_key ));
  10.  
  11. if (isset ($_POST['add_profile']) || isset ($_POST['new_key']))
  12. {
  13. // Aanmaken sessions, niet relevant
  14. if (isset ($_POST['new_key']))
  15. {
  16. header ("Location: register.php#key"); // Nieuwe key aanvragen
  17. exit ();
  18. }
  19. if (isset ($_POST['add_profile']))
  20. {
  21. $register_error = array (); // errors array
  22. // Flink aantal controles, en dan de key controle:
  23. if (empty ($_POST['confirm_key']))
  24. $register_error[] = $_LANG['NOTE']['EMP_CONF_KEY'];
  25. elseif (strtoupper ($_POST['confirm_key']) != $confirm_key)
  26. $register_error[] = $_LANG['NOTE']['INV_CONF_KEY'];
  27. if (count ($register_error) != 0)
  28. {
  29. // Fouten session, register.php gaan en weergeven
  30. }
  31. else
  32. {
  33. // invoegen, etc etc..
  34. }
  35. }
  36. }
  37. ?>


De keygenerator class werkt perfect, en de image wordt ook
goed aangemaakt. Alleen zegt de controle dat de herhaling
van de image onjuist is.
*edit* Voorbeeld link verwijderd, aangezien die linked naar mijn
registratieformulier die nu WEL werkt, en ik denk niet dat dat
de bedoeling is als ik die hier dan laat staan ;)*/edit*

Alvast bedankt,
Nrzonline

5 antwoorden

Gesponsorde links
Offline sasser - 30/07/2006 12:56
Avatar van sasser PHP interesse Hij slaat een nieuwe key op wanneer je op submit drukt zet key in cookie en haal uit cookie bij controle 
Offline Simon - 30/07/2006 13:09 (laatste wijziging 30/07/2006 13:13)
Avatar van Simon PHP expert staat de post verwerking boven / onder het form?

edit: zoals hierboven gezegd zet je het best de key in een cookie
  1. set_cookie("Confirm Key", sha1(md5($confirm_key)), ...);

en dan verwerking
  1. if($_COOKIE['key'] == sha1(md5($_POST['key']))) {
  2. //ok
  3. }
Offline ikkedikke - 30/07/2006 13:16
Avatar van ikkedikke PHP expert het probleem is dat je ieder request een nieuwe key maakt. zo is die dus nooit gelijk 
je moet alleen een nieuwe key maken als er niet al 1 bestond (sessies)
Offline Nrzonline - 30/07/2006 13:42 (laatste wijziging 30/07/2006 20:29)
Avatar van Nrzonline PHP ver gevorderde Ok dank allemaal, dan ga ik daar even mee prutsen 

*edit* Ik zit wel met het probleem dat hij, als je de pagina refreshed
of als je op de knop 'new_key' klikt, dat je wel gewoon een nieuwe
key moet krijgen. Dus wel even prusten, maar ik denk wel dat ik er uit
ga komen.

*Edit*
Proleem opgelost, slotje mag
Thanks again iedereen
*/Edit*

Citaat:
Opmerking door haytjes
zoals gewenst een: een slotje
Offline Ultimatum - 30/07/2006 14:01
Avatar van Ultimatum PHP expert dit probleem had ik ook

http://www.site...p;id=15859
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s