Rendre Une Chaine de Caractères Insensible à la Casse

Mammouth du PHP | 959 Messages

09 juil. 2007, 13:47

Bonjour,

j'ai fais un système de captcha, mais voilà, c'est normal, mais je ne c'est pas comment le détourner...
par exemple :
XHL5D89S est différent de xhl5d89s
et je voudrait que c'est 2 sont égal....
j'ai pensé au regex mais...
sa marche pas...
voici mon code de la génération du code captcha :
// GéNéRATION DU CODE CAPTCHA
$caracteres = 'abcdefghijklmnpqrstuvwxyz123456789';
$melange = str_shuffle($caracteres);
$selection = substr($melange, 1, 5);
$captcha = strtoupper($selection);
$codecaptcha = preg_match('##i', $captcha); // cette ligne sers à rendre le code captcha insensible à la casse, mais il ne marche pas....
// FIN DE LA GéNéRATION 
Merci de votre aide :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

09 juil. 2007, 17:43

Bonjour,

La solution est toute simple, il te suffit de passer la chaîne tapée par l'utilisateur ET la "solution" via un strtolower()
if (strtolower($captcha_utilisateur)==strtolower($solution_captcha)) {...
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 959 Messages

09 juil. 2007, 18:03

à oui merci sa marche :D