Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour tout le monde!
Je suis confronté à un problème quelque peu énervant :evil: .
j'ai une fonction qui vérifie les données envoyées depuis un formulaire.
/*fonction qui vérifie que le login et le mot de passe sont exacts*/
function verifExistence(){
$coderetour=0;
$requete="SELECT login,pass FROM profil WHERE login='$this->login'";
$resultat=mysql_query($requete);
echo $resultat;
if (!$resultat){
exit('invalid query : ' .mysql_error());
}
else
{
echo "test1";
while($line=mysql_fetch_row($resultat)){
if($line[0]!=$this->login)
$coderetour=1;
if($line[1]!=$this->pass)
$coderetour=2;
}
mysql_free_result($resultat);
}
switch ($coderetour){
case 0: return 0;break;
case 1: return 1;break;
case 2: return 2;break;
}
}
Tout marche bien si les $user->login et $user->pass correspondent effectivement à un enregistrement.
Mais si je met des valeurs bidon, le while n'est pas exécuté et donc la fonction me retourne 0.
Et la je ne vois vraiment pas ou si situe la couille
.
De l'aide pleaaaaase!!!
J'ai remaqué que dans tous les cas, si j'affiche $resultat, il me sort Resource id #5.
Hors ligne
il est normal que $result te retourne un ressource id, étant donné qu'il est défini par un mysql_query.
il faut le formater avec mysql_fetch_array pour afficher quelque chose
ce que tu peux faire
c'est :
$nbre = mysql_num_rows($resultat);
if ($nbre != '0') {
on execute le login
}c'est à dire que si la requete ne retourne aucun résultat (ce qui est le cas lorsque tu a un user fictif)
tu arrete tout (mysql_num_rows retournant le nombre de résultats obtenus par la requete)
Hors ligne
merci kazhar!
Je vais essayer ca.
Jsuis un vrai boulet, j'y avait pas pensé ![]()
Hors ligne
mais je comprend pas toujours pas pourquoi $resultat contient un ressource id meme quand la requete sql ne trouve aucun enregistrement correspondant.
Hors ligne