Probleme php forum Unknown column in where..

Fermé
salamandre51 Messages postés 41 Date d'inscription samedi 15 septembre 2007 Statut Membre Dernière intervention 25 mars 2010 - 11 juin 2008 à 19:14
 jym - 2 déc. 2010 à 02:57
Bonjour,
Je suis en train de créer un forum, et je suis bloqué à une erreur ^^'
J'explique, l'utilisateur entre son pseudonyme et son mot de passe afin de s'identifier, puis est redirigé vers une page nommée connexionok où sont vérifiés son pseudo et mot de passe.

Mais lorsque je rentre le nom d'utilisateur, php me dit : Unknown column 'salamandre51' in 'where clause'

Alors je vous donne mon code, en espérant que vous puissiez m'aider !
<?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>


Merci d'avance !!!

2 réponses

SibylAngel Messages postés 5 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 15 juin 2008
11 juin 2008 à 19:26
Bonjour,


Il y a un problème dans la requête SQL (si je ne me trompe pas) :
La condition WHERE est effectuée sur un nom de colonne qui n'est pas dans le SELECT, donc il ne peut pas la trouver.
Il faut ajouter "membre_pseudo" dans les colonnes du SELECT pour pouvoir effectuer un test sur cette colonne.

;)
0
salut il te faut terminer ta requete par un '
exemple :
$requete1 = mysql_query('SELECT membre_mdp, membre_id, membre_rang
FROM forum_membres WHERE membre_pseudo = '.$pseudo.'
)
or die (mysql_error());
0