Pbm authentification en php:mysql

Résolu
voila
J'ai un index.html contenant un formulaire dans leqeul les utilisateurs rentrent leur login et mot de passe pour s'authentifier.
Ce formulaire fait appel a une methode post, et appel un fichier authentif.php qui lui vérifie les champs voici le code de ce php
<?php
// on se connecte MySQL
$db = mysql_connect('localhost', '***', '***');

// on slectionne la base
mysql_select_db('authentification',$db);

// on envoie la requte
$Resultat=mysql_query("SELECT * FROM `utilisateurs` WHERE `nom` LIKE '$utilisateur' AND `mdp` LIKE '$pwd'");

if (mysql_numrows($Resultat) == 1)
{
echo "OK vous pouvez voir";
}
else
{
echo "Non, vous n'tes pas inscrit";
}

// on ferme la connexion mysql
mysql_close();
?>
Le souci est que cela n'aboutit pas , on me retourne l'erreur que les variables utilisateur et pwd ne sont pas reconnus dans authentif.php alors que ce sont les noms des champs de texte dans le formulaire
Quelqu'un a t'il une idée ???

10 réponses

  1. Contributeur
    Salut,

    Essaye d'enlever les guillmets autour de ta variable $utilisateur quand tu séléctionne ta base, et pareil pour le mot de passe.

    Si ça marche pas, dis-le.

    @+

    ______________________________________________________
    ...:::=============== ERDNAX ================:::...
    1. Salut,

      tu peux essayer avec ca :
      $Resultat=mysql_query("SELECT * FROM `utilisateurs` WHERE `nom` LIKE '$_POST[utilisateur]' AND `mdp` LIKE '$_POST[pwd]'");

      dans ton php.ini si register_globals est a off, il faut utiliser le tableau $_POST tandis que s'il est a on, il suffit d'utiliser $nom_du_champs.

      tiens moi au courant
      1. merci de vos réponses, j'ai changer la valeur register_globals qui était sur off pour la mettre sur on mais cela ne change rien sniff :'(
        1. lorsque je mets LIKE '$_POST[pwd] , il me dit index indéfini
          1. j'ai toujours mon soucis quelqu'un a t'il une solution svpppppppp
            1. voici le message qu cela me retourne :
              Notice: Undefined index: utilisateur in l:\authentif.php on line 13

              Notice: Undefined index: pwd in l:\authentif.php on line 13
              Non, vous n'tes pas inscrit
              1. Modérateur
                Bonsoir,

                Il faut mettre des guillemets dans $_POST['utilisateur']:

                $Resultat=mysql_query("SELECT * FROM `utilisateurs` WHERE `nom` LIKE '".  $_POST['utilisateur'] ."' AND `mdp` LIKE '" . $_POST['pwd']."'"); 


                Pour des soucis de sécurité et de compatibilité avec d'autres serveurs qui interpréteront ton code, je te conseille de laisser register_global à off et d'utiliser les variables $_POST et $_GET lors de la récupération d'un formulaire par exemple...
                1. merci de ta réponse mais même avec ta requête j'ai toujours le même message d'erreur, je commence a désespérer :(
                  1. Modérateur
                    Vérifie le nom de tes champs dans tes formulaires, teste tes variables après envoi d'un formulaire:

                    echo $_POST['utilisateur'];
                    1. Miracle ca fonctionne !!!
                      Merci pour tout je m'était trompé dans le nom de la variable il manquait un s :s
                      Merci ;)