Erreur Unknown column '...' in 'where clause' à la connexion

Erreur Unknown column '...' in 'where clause' à la connexion - SQL/NoSQL - Programmation

Marsh Posté le 06-06-2008 à 19:45:10    

Bonjour, programmant mon propre système de forums, j'ai voulu faire un système de connexion mais lorsque j'essaie de me connecter, j'ai cette erreur :
Unknown column 'sadik' in 'where clause'  
 
Voilà le code complet de ma page :
 
<?php
session_start();
 
// Message
 
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
{
        //Acces interdit : le membre est déjà connecté
        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
        {
        include("includes/identifiants.php" );
        mysql_connect($adresse, $nom, $motdepasse);
        mysql_select_db($database);
       
        //On enlève les balises html éventuelles
       
        $pseudo = htmlspecialchars($_POST['pseudo'], ENT_QUOTES);
        $password = htmlspecialchars($_POST['password'], ENT_QUOTES);
         
        $requete1 = mysql_query('SELECT membre_mdp, membre_id, membre_rang  
        FROM forum_membres WHERE membre_pseudo = "'.pseudo.'"')  
        or die (mysql_error());
        $data1 = mysql_fetch_assoc($requete1);
 
         
        if ($data1['membre_mdp'] == md5($password)) // Acces OK !
        {
       
                $_SESSION['pseudo'] = $pseudo;
                $_SESSION['level'] = $data1['membre_rang'];
                $_SESSION['id'] = $data1['membre_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
include("includes/debut.php" );
?>
<div id="banniere"></div>
 
 
<div id="corps_forum">
<?php
echo $message;
?>
</div>
</body>
</html>
 
Que faire pour régler ce problème ?  
 
Merci d'avance.


Message édité par sadik' le 06-06-2008 à 20:57:33
Reply

Marsh Posté le 06-06-2008 à 19:45:10   

Reply

Marsh Posté le 07-06-2008 à 19:23:07    

commencer par faire [code]print $requete1;[code] et exécuter le requête directement sur la base, pour voir si y'a pas un pb SQL

Reply

Marsh Posté le 08-06-2008 à 02:54:30    

ouah! tu ferais mieux de commencer par apprendre les bases de PHP avant de te mettre dans le dev d'un forum :
 
- Dans ta requete, ce ne serait pas mieux de mettre la variable "$pseudo" à la place de la constante "pseudo" ?
- htmlspecialchars ne sert strictement à rien pour un parametre de requete,mais UNIQUEMENT à l'affichage
- pour protéger tes requetes MySQL, utilise mysql_real_escape_string et rien d'autre

Reply

Marsh Posté le 08-06-2008 à 11:09:39    

En fait j'avais fait une erreur de mer***, je n'avais pas mis une variable entre quotes
 
Sujet résolu.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed