Probleme connexion php

max1395 -  
irem Messages postés 166 Statut Membre -
Bonjour ,
Voila j'ai un probleme , quand je me connecte sur mon site celui ci m'indique que c'est le mot de passe et faux alors que c'est bon .... Pouvez vous regardé le code et me dire ce qui ne vas pas ? merci

<?php
// Connexion au serveur
mysql_connect('localhost','root','') or die("erreur de connexion au serveur");

mysql_select_db('site') or die("erreur de connexion a la base de donnees");

if (empty($_POST['pseudo']) || empty($_POST['password']) ) //Oublie d'un champ
{
$message = '<p>une erreur s est produite pendant votre identification.
 Vous devez remplir tous les champs
Cliquez <a href="./connexion.php">ici</a> pour revenir</p>';
}
else
{
if (isset($_SESSION['pseudo']))
{
$message ='<p>Désolé mais vous ne pouvez
pas accéder à cette page</p>';
}
else // Autorisation ok : il reste à voir le mot de passe
{
$pseudo = $_POST['pseudo'];
$password = $_POST['password'];
$requete1 = mysql_query(' SELECT password 
FROM membres WHERE pseudo = "'.$pseudo.'" ')
or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
     
if ($pseudo == ($password)) // Acces OK !
           {
        
                   $_SESSION['pseudo'] = $pseudo;
                   $_SESSION['id'] = $data1['id'];
        
                   $message = '<p>Bienvenue '.$_SESSION['pseudo'].',
                   vous êtes maintenant connecté!</p>
                   <p>Cliquez <a href="./index.php">ici</a>
                   pour revenir à la page d accueil</p>';
        
           }
           else // Acces pas OK !
            {
                   $message = '<p>Une erreur s est produite
                   pendant votre identification.
                   Le mot de passe ou le pseudo entré n est pas correcte.
                  Cliquez <a href="./connexion.php">ici</a>
                   pour revenir à la page précédente
                   <br /><br />
                   Cliquez <a href="./index.php">ici</a>
                   pour revenir à la page d accueil</p>';
             }
             }
   }
   //Ici seulement on affiche la page
   ?>
   <div id="banniere"></div>

   <div id="corps_forum">
   <?php
  echo $message;
   ?>
   </div>
   </body>
   </html>
   <?php
   if (isset($_POST['souvenir']))
  {
   $expire = time() + 365*24*3600;
   setcookie('pseudo', $_SESSION['pseudo'], $expire);
   }
  
  ?>

1 réponse

  1. irem Messages postés 166 Statut Membre 99
     
    Bonjour, en substance la ligne :
    if ($pseudo == ($password)) // Acces OK !


    donne que le système vérifie que l'utilisateur (Pseudo) existe dans la base et que le mot de passe est équivalent au pseudo

    il faudrait plutôt

    if ($pseudo == $data1['password']) // Acces OK !
    

    Cordialement Irem
    0