Page 1 sur 1

Question sur la casse (majusucle/minuscule) pour un espace m

Posté : 18 déc. 2007, 10:53
par angebleu17
Bonjour,

Sur mon site j'ai un espace membre, donc la personne s'inscrit, elle saisie quelques informations et saisie son pseudo et mot de passe. Mais certaine personne écrive en majusucle.

Du coup ensuite lorsqu'il veule se connecter s'il ne saississe pas leur pseudo et mot de passe comme il l'on saisi au moment de l'inscription (en respectant la casse) ça ne marche pas.

J'aimerais savoir ce que je doit rajouter dans ma requête qui vérifie si le pseudo et mot de passe saisie existe dans la base de données même si la case n'est pas respecté.

Par ex : lors de l'inscription je met comme pseudo : MEMBRE et comme mot de passe : PASS

si je saisi membre et pass (en minuscule) pour me connecter j'aimerais que ma requête trouve quand même la personne. (dans la base s'est enregistré MEMBRE et PASS en majusucle).

Comment faire ?

Merci davance pour vos réponses

Posté : 18 déc. 2007, 10:57
par béka
ce que je te conseille de faire sinon c'est lors de l'inscription, lorsque tu insère dans la BDD tu forces la casse.C 'est à dire soit tu décide de tout mettre en majuscule soiut tout mettre en minuscule.
Pour ça tu peux regarder du côté de ces deux fonctions : strtoupper($str); et strtolower($str);

Je pense qu'avec ceci tu peux arriver à faire ce que tu souhaites.

Posté : 18 déc. 2007, 11:00
par Ryle
Tu peux utiliser la fonction UPPER() de SQL pour mettre ta chaine en majuscule et comparer les deux :
" WHERE UPPER(login) = UPPER('" . mysql_real_escape_string($login). "')"
Ceci dit, ce sera un peu plus performant si effectivement, tu convertis en majuscule lors de l'insertion, ça te fera un upper() en moins :)
" WHERE login = '" . mysql_real_escape_string(strToUpper($login)) . "')"