PHP - MySQL : Création d'un Login [Résolu/Fermé]

Signaler
Messages postés
291
Date d'inscription
vendredi 23 octobre 2009
Statut
Membre
Dernière intervention
9 avril 2013
-
 A.Nonymous -
Bonjour la communauté de CCM

Je suis en train de faire un site sauf qu'un obstacle se pose à moi.
En effet, mon login me fait une joli erreur et vu que cela fait une bonne journée dessus et que cela commence à me tendre léger je fais appelle à vous.

Mon code :

<?php  
 #################################################################  
 #  
 # Programme:  Login.php  
 # Auteur:    #  
 #################################################################  
 #  
 #  Date :  Juin 2012  
 # Version :  1.0  
 # Révisions :  1  
 #  
 #################################################################  
 #  
 # Permet un login pour l'administration du site  
 #    
 #  
 #################################################################  
   
#################################################################   
 // Déclaration des variables  
#################################################################  
   

#################################################################   
 //Programme  
#################################################################  

//Test la connexion à la base de donnée  
try  
{  
 //Connexion à la base avec la méthode PDO  
 $BDLogin = new PDO('mysql:host=localhost;dbname=DB_Links', 'root', '');  
}  
//Test si il y a des soucis lors de la connexion  
catch(Exception $e)  
{  
 //Si il y a des erreurs, afficher un message d'erreur  
        die('Erreur : '.$e->getMessage());  
}  
//Ok, Alors Let's Go :-D  

 // Test si le username ou le password est seter  
 if ( isset ($_POST['username']) || isset ($_POST['password']) )  
 {  
  //Déclaration des variables  
  $Username=$_POST['username'];  
  $Password=$_POST['password'];  
  $Login='';  
    
  // Test si le username n'est pas vide  
  if (empty($_POST['username']))  
  {  
   //Kill la suite du processe et affiche un message d'erreur  
   die ("Veuillez remplir le champ nom d'utilisateur !");  
  }  
  // Test si le mot de passe n'est pas vide  
  if (empty($_POST['password']))  
  {  
   //Kill la suite du processe et affiche un message d'erreur  
   die ("Veuillez remplire le champ mot de passe !");  
  }  

  // Test si l'utilisateur est bon, et si son mot de passe est correct et execute la requete  
  $Login = $BDLogin->query('SELECT User_Login FROM t_login WHERE  User_Login = "' . $Username . '" AND Password_Login = "' . $Password . '"' . "'");  
    
  // Regarde les valeurs retournees par la base  
  if (mysql_num_rows($Login)==1)  
  {  
   //Démarre le login  
   session_start();  
   header('location:./home.php?Page=Administration');    
  }  
  else  
  {  
   // sinon et bien qqch a mal fonctionné ! authentification impossible  
   echo "Login ou Mot de passe incorrect!";  
  }  
 }  



#################################################################   
 //Interface  
#################################################################  
?>  

<br/>  
<h2>  
 Page de Login  
</h2>  
<br/>  
<form method="POST">  
 <table>  
  <tr>  
   <td>  
    Login :  
   </td>  
   <td>  
    <input type="text" name="username"/>  
   </td>  
  </tr>  
  <tr>  
   <td>  
    Mot de passe :  
   </td>  
   <td>  
    <input type="password" name="password"/>  
   </td>  
  </tr>  
  <tr>  
   <td colspan="2">  
   <input type="submit" value="Connexion !" name="submit"/>  
   </td>  
  </tr>  
 </table>  
</form>  



Message d'erreur afficher :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\@ProjetSiteWeb\McdoSite\web\Login.php on line 68
Login ou Mot de passe incorrect!





Vous avez une idée ?

Merci d'avance du temps qui sera passé à m'aider.
Meilleures salutations


3 réponses

$Login = $BDLogin->query('SELECT User_Login FROM t_login WHERE  User_Login = "' . $Username . '" AND Password_Login = "' . $Password . '"');
Messages postés
291
Date d'inscription
vendredi 23 octobre 2009
Statut
Membre
Dernière intervention
9 avril 2013
7
Merci pour ta réponse rapide.

Sa fonctionne
Le SQL est erroné.
Le code suivant est en trop.

. "'"

Attention à ne pas confondre simple avec les double-quotes ... et les quotes de chaînes avec les quotes dans la chaîne.