marouan

Bonjour,quand je valide mon mot de passe est mon pseudo je reçois un message (Mot de passe ou nom d'utilisateur incorrect !?)
je sais pas ou est le problem
voila le code
<?php


if(isset($_POST['submit']))
{
$pseudo = htmlspecialchars(trim($_POST['pseudo']));
$password = htmlspecialchars(trim($_POST['password']));

}
if(empty($pseudo))
{

echo"veuillez saisir votre pseudo<br/>";

}
if(empty($password))
{

echo"veuillez saisir votre mot de passe<br/>";

}

$bdd = new PDO('mysql:host=localhost;dbname=membre;charset=utf8', 'root', '');
$req = $bdd->query('SELECT * FROM users WHERE username="$username" AND password="$password"');

$result = $req->fetch();

if ($result == 0)
{
echo "Mot de passe ou nom d'utilisateur incorrect !";
$req->closeCursor();
}

else
{
$req->closeCursor();
echo "Bienvenue " . $pseudo . "! ";
}

?>?

<h1> connexion </h1>

<form method="post" action="">
<p>votre pseudo</p>
<input type="text" name="pseudo"/></br>
<p>votre mot de passe</p>
<input type="password" name="password"/></br></br>

<input type="submit" name="submit" value="se connecter"/>
</form>

<a href="register.php">pas encore membre</a>

Le 28/08/2016 à 04:24
bootloop

Je crois que la ligne $result = $req->fetch(); sert a recuperé les données sous forme de tableau associatif, tu devrais plutôt utiliser $result = $req->rowCount(); pour compter le nombre de ligne que la requête renverra ensuite tu pour utiliser la condition if($result == 0) pour comparer a 0 le nombre de ligne trouver ! Bref ça devrait marcher même si mon explication n'est pas totalement vrai !
Jete un coup d'oeil rapide http://php.net/manual/fr/pdostatement.fetch.php pour plus d'infos sur "fetch()"

Le 06/09/2016 à 16:38
Connectez-vous pour pouvoir répondre