Erreur Unknown column '...' in 'where clause' à la connexion - SQL/NoSQL - Programmation
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
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
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.
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