PHP 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
<?PHP
// keygen.class.php IS geinclude.
$tpl -> newBlock ("confirm_key");
$confirm_key = $keygen -> keygenerator(rand (4,5), 3);
$keygen -> imagecreator ($confirm_key);
$tpl -> assign ( array ("CONFIRM" => $_LANG['SPLIT_T']['CONFIRM'],
"CONFIRM_NOTE" => $_LANG['SPLIT_M']['CONFIRM'],
"CONFIRM_IMG" => '<img src="temp/gen_key_img.png" alt="" />',
"CONF" => $confirm_key ));
if (isset ($_POST['add_profile']) || isset ($_POST['new_key']))
{
// Aanmaken sessions, niet relevant
if (isset ($_POST['new_key']))
{
header ("Location: register.php#key"); // Nieuwe key aanvragen
exit ();
}
if (isset ($_POST['add_profile']))
{
$register_error = array (); // errors array
// Flink aantal controles, en dan de key controle:
if (empty ($_POST['confirm_key']))
$register_error[] = $_LANG['NOTE']['EMP_CONF_KEY'];
elseif (strtoupper ($_POST['confirm_key']) != $confirm_key)
$register_error[] = $_LANG['NOTE']['INV_CONF_KEY'];
if (count ($register_error) != 0)
{
// Fouten session, register.php gaan en weergeven
}
else
{
// invoegen, etc etc..
}
}
}
?>
<?PHP // keygen.class.php IS geinclude. $tpl -> newBlock ("confirm_key"); $confirm_key = $keygen -> keygenerator(rand (4,5), 3); $keygen -> imagecreator ($confirm_key); $tpl -> assign ( array ("CONFIRM" => $_LANG['SPLIT_T']['CONFIRM'], "CONFIRM_NOTE" => $_LANG['SPLIT_M']['CONFIRM'], "CONFIRM_IMG" => '<img src="temp/gen_key_img.png" alt="" />', "CONF" => $confirm_key )); if (isset ($_POST['add_profile']) || isset ($_POST['new_key'])) { // Aanmaken sessions, niet relevant if (isset ($_POST['new_key'])) { header ("Location: register.php#key"); // Nieuwe key aanvragen } if (isset ($_POST['add_profile'])) { $register_error = array (); // errors array // Flink aantal controles, en dan de key controle: if (empty ($_POST['confirm_key'])) $register_error[] = $_LANG['NOTE']['EMP_CONF_KEY']; elseif (strtoupper ($_POST['confirm_key']) != $confirm_key) $register_error[] = $_LANG['NOTE']['INV_CONF_KEY']; if (count ($register_error) != 0) { // Fouten session, register.php gaan en weergeven } else { // invoegen, etc etc.. } } } ?>
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
|