Ressource id#5

Résolu/Fermé
sly_prod - 4 mars 2008 à 16:26
 sad - 10 oct. 2010 à 18:13
Bonjour,
j ai un soucis! j ai une formulaire, "login" et "mot_pass"
je fais une requete pour savoir si les "post" que j envois sont dans la base.

le code:

$login = $_POST["login"];
$password = $_POST["mot_pass"];
$requete = "SELECT id FROM user WHERE pseudo='".$login."' AND pass='".$password."';";
$resultat = mysql_query($requete);

if ($resultat)
{
echo "<p>ca marche</p>";
echo $login ;
echo $password;
echo $resultat;
}
else
{
echo"<p>ca marche pas</p>";
echo $login ;
echo $password;
}

Après plusieurs test, le problême est que cela revoit toujours le résultat du "if"
et pour echo $resultat: ressource id#5

j'en revien pas de bloquer sur une requête aussi simple!!!!

5 réponses

Thamior Messages postés 264 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 18 mars 2014 47
4 mars 2008 à 16:29
Bonjour,

Test ça :
$login = $_POST["login"];
$password = $_POST["mot_pass"];
$requete = "SELECT id FROM user WHERE pseudo='".$login."' AND pass='".$password."';";
$exe= mysql_query($requete);
$resultat = mysql_fetch_assoc($exe);

if ($resultat)
{
echo "<p>ca marche</p>";
echo $login ;
echo $password;
echo $resultat["id"];
}
else
{
echo"<p>ca marche pas</p>";
echo $login ;
echo $password;
}
3
trop cool, ca marche!!!

toi qu'est calé, j avais essayé

if(mysql_num_rows($resultat)!=0)
{
echo "marche";
}
else
{
echo "marche pas";
}

ca ne marchait pas non plus (si tu peux me dire lpourquoi! ce serait sympas)
0
Thamior Messages postés 264 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 18 mars 2014 47 > sly_prod
4 mars 2008 à 16:47
Je n'ai pas eu besoin d'utiliser cette commande mais regarde sur le manuel :
https://www.php.net/mysql_num_rows

ça t'aide peut être à comprendre pourquoi ça ne marchait pas :).
0
sly_prod > Thamior Messages postés 264 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 18 mars 2014
4 mars 2008 à 16:55
Oups j'ai parlé un peu vite, je crois bien!!!!

j ai refait des test, et quand le login est dans la table et que le password est faux,
ca marche quand meme
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
4 mars 2008 à 16:30
Bonjour,

mysql_query() renvois une ressource si la requête est exécutée correctement.
Cette ressource est exploitable avec la fonction mysql_fetch_array() ou mysql_fetch_assoc();

Ces fonctions retournent la ligne courante de la ressource dans un tableau.

https://www.php.net/mysql_query
https://www.php.net/mysql_fetch_assoc

Et comme dit plus haut, fear les SQL-Injection

https://fr.wikipedia.org/wiki/Injection_SQL
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
4 mars 2008 à 16:29
SQL-injection-attack-power !
0
Thamior Messages postés 264 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 18 mars 2014 47
4 mars 2008 à 17:00
Ton mot de passe est il haché en md5 ?

Personnellement, je ferai quelques choses comme ça :
$sql = 'SELECT id, pass FROM user WHERE pseudo='".$login.";'

Ensuite je comparerai le password entré et le password saisi.
0
oui le pass est hashé

if (($_POST["login"]=="")||($_POST["mot_pass"]==""))
{
echo "<p> tous les champs doivent être remplis</p>";
}
else
{
$login = $_POST["login"];

$salt = "#lhgfdsgnfsdgckljlhgfcgvbnfvxgclkljhg";
$password = md5(strtolower($_POST["mot_pass"])*$salt);



require("connexion.php");
$maConnexion = connexionBase();

$requete = "SELECT id FROM user WHERE pseudo='".$login."' AND pass='".$password."';";

// $resultat = mysql_query($requete);

$exe= mysql_query($requete);
$resultat = mysql_fetch_assoc($exe);

if ($resultat)
{
echo "<p>ca marche</p>";
echo "<p>".$login."</p>" ;
echo "<p>".$password."</p>";
echo $resultat["id"];

}
else
{
echo"<p>ca marche pas</p>";
echo $login ;
echo $password;
}
mysql_close($maConnexion);
0

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

Posez votre question
thank you
0