[php] Contrôle majuscules/minuscules

Résolu/Fermé
chedev Messages postés 48 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 16 avril 2013 - 3 août 2007 à 08:20
chedev Messages postés 48 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 16 avril 2013 - 11 sept. 2007 à 21:18
Bonjour à tous

Je fais saisir un pseudo dans un formulaire avec le code PHP suivant:
<form method="post" action="connexion_ok.php">
        <label for="pseudo"> Pseudo</label><br /> 
        <input name="pseudo" type="text"
        onFocus="javascript:this.value=''"
        value= <?php echo $pseudoF;?> size=16 maxlength=15 />
        <br />
        <label for="mdp">Mot de Passe </label><br />
        <input name="mdp" type = password id="mdp" onFocus="javascript:this.value=''"
        value= <?php echo 'xxxxx';?> size=16 maxlength=15 />
        <br />
        <br />
        <input type="submit" value="Ok" />
</form>


Dans le fichier connexion_ok.php appelé par "form", j'ai:
if (empty($_POST['pseudo']) || empty($_POST['mdp']) ) {//Oubli d'un champ
        $message = $Non_Connex . $champs_vide . $retour;
} else {
        include("../Admin/acces_xxx.php");
        //On enlève les balises html éventuelles
        $pseudo = htmlspecialchars($_POST['pseudo'], ENT_QUOTES);
        $mdp = htmlspecialchars($_POST['mdp'], ENT_QUOTES);
        //Vérification du pseudo
        $nombrepseudo = mysql_result(mysql_query("SELECT COUNT(*) FROM membres WHERE membre_pseudo = '".$pseudo."'"), 0);
        if($nombrepseudo == 0) {


Je constate que mon contrôle de pseudo ne tient pas compte du fait que l'on saisisse des majuscules ou des minuscules:
Si la base "membres" contient un enregistrement où membre_pseudo vaut "Toto", ce contrôle laisse passer "toto", "Toto", "TOTO", ...

Merci à qui peut me dire pourquoi, et surtout comment je dois procéder pour n'accepter que la saisie conforme aux majuscules/minuscules figurant dans la base.
A voir également:

1 réponse

chedev Messages postés 48 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 16 avril 2013 2
11 sept. 2007 à 21:18
Un petit up pour signaler à ceux qui pourraient avoir le même problème à résoudre.

J'ai trouvé la solution ici http://dev.mysql.com/doc/refman/5.0/fr/char.html

En résumé:
L'attribut BINARY signifie que les valeurs sont classées et triées en tenant compte de la casse, suivant l'ordre des caractères ASCII de la machine ou est installé le serveur MySQL.
-2