[php] Contrôle majuscules/minuscules

[Résolu/Fermé]
Signaler
Messages postés
48
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
16 avril 2013
-
Messages postés
48
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
16 avril 2013
-
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.

1 réponse

Messages postés
48
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
16 avril 2013
2
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.