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

  • Votes
  • Date
  • Date décroissante
  1. Miracle ca fonctionne !!!
    Merci pour tout je m'était trompé dans le nom de la variable il manquait un s :s
    Merci ;)
    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. 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
          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. 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. j'ai toujours mon soucis quelqu'un a t'il une solution svpppppppp
              1. lorsque je mets LIKE '$_POST[pwd] , il me dit index indéfini
                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. 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. 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 ================:::...