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!!!!
Configuration: win xp 64
Internet Explorer 7.0

5 réponses

  1. Thamior Messages postés 267 Statut Membre 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
    1. 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
      1. Thamior Messages postés 267 Statut Membre 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
      2. sly_prod > Thamior Messages postés 267 Statut Membre
         
        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
  2. Xil Messages postés 351 Statut Membre 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
  3. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    SQL-injection-attack-power !
    0
  4. Thamior Messages postés 267 Statut Membre 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
    1. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question