Interrogation base de donnee en php

Résolu/Fermé
Utilisateur anonyme - 8 juin 2008 à 00:10
 Utilisateur anonyme - 8 juin 2008 à 12:23
Bonjour,
j ai un soucis. en fait, je veux verifier si le loggin inscrit par quelqu un sur mon html est bon (present dans ma base de donnée). voila ce que donne le php :

//-----------------------------------------------------------------------------------------------
<?php

mysql_connect("localhost", "root", "");
mysql_select_db("monsite1");


$loggin = $_POST['T1'];
$veriflog = mysql_query("SELECT log FROM monsite1 WHERE log = $loggin");

echo $loggin;
echo $veriflog;

if ($veriflog == $loggin)
{
echo 'ok';
}
else
{
echo 'no';
}
?>

//-----------------------------------------------------------------------------------------------

le echo $veriflog ne me donne rien .... (il y a bien le bon loggin dans log de monsite 1 ...) et T1 renvoi, bien sur, ce qui est inscrit sur le formulaire.

aidez moi T_T ^^

9 réponses

Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
8 juin 2008 à 01:14
Hello

Oublie pas les guillemets simples dans la requete autour de ta variable et ensuite interprete le retour de la base grace a mysql_result :

$veriflog = mysql_query("SELECT log FROM monsite1 WHERE log = '$loggin'");
$veriflog = mysql_result($veriflog,0);
0
Utilisateur anonyme
8 juin 2008 à 10:56
ok, j esssaye et je te dis le resultat ^^
0
Utilisateur anonyme
8 juin 2008 à 11:00
j ai inseré les lignes que tu m as dis, voila le resultat :

"Warning: mysql_result(): supplied argument is not a valid MySQL result resource in E:\Program Files\EasyPHP 2.0b1\www\veriflog.php on line 12"

la ligne 12, c est "$veriflog = mysql_result($veriflog,0); "
0
Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
8 juin 2008 à 11:55
Tien, sa voudrai dire que la requete ne passe pas, bizzare

verifie si la requete passe en modifiant cette ligne, le script s'arretera en cas d'erreur SQL et on verra ce qu'il ce passe

$veriflog = mysql_query("SELECT log FROM monsite1 WHERE log = '$loggin'") or die(mysql_error());
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
8 juin 2008 à 12:03
j ai reussi a faire passer, c était une erreur de ma part^^

la seconde erreur arrive xd :

"Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in E:\Program Files\EasyPHP 2.0b1\www\veriflog.php on line 10"



soit a la ligne "$veriflog = mysql_result($veriflog,0); "

0
Utilisateur anonyme
8 juin 2008 à 12:08
alors, l erreur dite précedement est lorsque le logg est faux ^^

c est bon, ca marche.

voila le code :
"
<?php

mysql_connect("localhost", "root", "");
mysql_select_db("monsite1");


$loggin = $_POST['T1'];

$veriflog = mysql_query("SELECT log FROM loggin WHERE log = '$loggin'") or die(mysql_error());
$veriflog2 = mysql_result($veriflog,0);


if ($veriflog2 != $loggin)
{
echo 'n';
}
else
{
echo 'k';
}
?>

"

merci beaucoup, le ordie m a beaucoup aidé ^^ ( et le reste aussi xd)

bon, encore un ou deux trucs pas facile et ca devrai etre bon ^^ ( il me faut un retour depuis ma page php (les if de fin en fait) et si la valeur est true, on accede a la page suivante, si la valeur est false, on reste a la page index ^^)

si tu peux m aider, je t en serrais reconnaissant, mais je cherche de mon coté quand meme ^^

merci
0
Utilisateur anonyme
8 juin 2008 à 12:10
arf, si, une question, ca ne me di pas si le log est faux, ca me met une erreur (pas trouvé le log en fait), comment faire pour que ca ait une valeur quand meme ?


en fait, pour etre clair, si mysql_query() ne trouve rien, renvoi-t'elle une valeur par defaut ou NULL ou quelquechose ?

merci de ta patience ^^
0
Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
8 juin 2008 à 12:20
Ouai en fait on va faire differement, mysql_result est pas approprié dans ce cas la car il plante si il n'y a pas de ligne de retour dans la requete sql.

Donc on va faire comme ça

<?php

mysql_connect("localhost", "root", "");
mysql_select_db("monsite1");


$loggin = $_POST['T1'];

$veriflog = mysql_query("SELECT log FROM loggin WHERE log = '$loggin'") or die(mysql_error());
$NbDeLignes = mysql_num_rows($veriflog); //On compte le nombre de lignes de retour SQL


if ($NbDeLignes == 0) //Si le nombre de ligne = 0 c'est que le login est pas bon
{
header('Location: pagePasOk.php'); //On redirige l'utilisateur sur un page d'erreur
}
else
{
header('Location: pageOk.php'); //Sinon c'est bon on le redirige vers la page OK
}
?>
0
Utilisateur anonyme
8 juin 2008 à 12:23
ok, nikel.

en plus, grace a ca, je peux mettre des .html dans les header. merci beaucoup ^^
a bientot
0