Ressource id#5

Résolu
sly_prod -  
 sad -
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   Statut Membre Dernière intervention   47
 
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
sly_prod
 
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   Statut Membre Dernière intervention   47 > sly_prod
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   257
 
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   Statut Modérateur Dernière intervention   15 662
 
SQL-injection-attack-power !
0
Thamior Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   47
 
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
sly_prod
 
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
sad
 
thank you
0