Bonjour, je souhaite que les membres puissent se connecter et donc je vais verifier dans la base de donnee si dans la table des membres le login existe et qu'il match avec le mot de passe entré.
Seulement il y a quelque chose d'étrange, tout semble bien se passer lorsque que c'est un membre que j'ai crée par phpmyadmin et je me loggue dessus.
Par contre quand c'est un membre inscrit par le biais du formulaire impossible de comparer correctement les valeurs...
Voici le code de la partie qui semble poser un soucis, les variables comparées sont celles recuperées par requête sql par rapport aux variables reçues par POST:
$request = 'SELECT login, password, avatar FROM membres WHERE login =\ .$_POST['login'].'\;
$reponse = $bdd->query($request);
if ($donnee = $reponse->fetch())
{
echo "ok " .$donnee['login']. '='. $_POST['login']. ' '. $donnee['password']. '='. $_POST['pass']. '<br>';
if (strcmp($donnee['login'], $_POST['login']) == 0)
{
echo " meme login: ". $donnee['login']. '='. $_POST['login'];
if (strcmp($donnee['password'], $_POST['pass']) == 0)
{
echo " meme pass: ". $donnee['password']. '='.$_POST['pass'];
//ouverture session
}
else
echo "pass different";
}
else
echo "login inexistant";
Lorsque je me connecte avec un compte crée par phpmyadmin ça donne:
"ok Gobols=Gobols pass: aaa=aaa
meme login: Gobols=Gobols meme pass: aaa=aaa"
mais lorsque c'est par le biais d'un membre fraichement inscrit par le formulaire ca donne :
"ok exemple =exemple aaaaaa=aaaaaa"
Dans les deux cas la requête SQL fonctionne et on affiche les variables comparées qui sont identiques, par contre "exemple" ne valide pas la comparaison de ses membres et la seule différence entre ces deux situation vient de la création de l’entrée...
Une idée de ce que ça peut être ? merci !