Comparaison variables php et base données mysql

Résolu
Kowli_12 Messages postés 11 Statut Membre -  
Kowli_12 Messages postés 11 Statut Membre -
Bonjour à tous
J'aimerais savoir comment comparer des variables envoyer par la méthode post à seuls stocké dans une base de donnée MySQL
par exemple comparer les données entré par l'utilisateur à seul enregistré dans la base de donnée.

Merci d'avance à ceux qui useront de leur temps pour me répondre

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Pour que l'utilisateur puisse envoyer des données en POST .. il faut un formulaire HTML
    Ensuite, pour faire la comparaison ton script devra :
    - Faire la connexion à la bdd ( en PDO ou Mysqli )
    - Faire une requête SELECT qui ira chercher les données en BDD avec, dans le WHERE, ce que tu veux comparer

    0
    1. Kowli_12 Messages postés 11 Statut Membre
       
      Merci pour la réponse
      Voici mon script, qui ne marche toujours pas d'ailleurs


      if(!empty($_POST['user']) && !empty($_POST['password']))
      {

      $pseudo = $_POST['user'];
      $password = $_POST['password'];


      try {
      $connexion = new PDO("mysql:host=$loalhost;dbname=Membres;charset=utf8", $user, $pass);
      $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

      } catch (Exception $ex) {
      echo 'probleme de connexion à la base de donnée<br>'.$ex->getMessage();
      }


      $dbase =$connexion->prepare( 'SELECT Pseudo, Password FROM User WHERE Pseudo="'.$pseudo.'" AND Password="'.$password.'"');

      $dbase->execute();



      if($resultat=$dbase->fetch())
      {
      echo '<br>Bonjour '.$resultat['Pseudo'];
      }
      else
      {
      echo '<br>Identifiants incorrect';
      }
      }
      else {
      echo '<br>Veillez remplir vos idenfiants';
      }


      Ici même quand les condition ne sont pas remplie le script affiche toujours Bonjour $resultat['Pseudo']
      ce qui ne devrais pas être le cas si le mot de passe ou le pseudo ne correspond pas à seuls déjà stocké sur la base de données
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Déjà...La comparaison se fait avec 2 =
      0
    3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      De plus.. attention.
      Désormais on utilise la fonction password_verify pour stocker les password et les vérifier :
      https://www.php.net/manual/fr/function.password-verify.php
      et donc, pour encoder le password (celui que tu stockes dans ta bdd) : http://php.net/manual/fr/function.password-hash.php

      Voici un exemple de code : https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
      0
    4. Kowli_12 Messages postés 11 Statut Membre
       
      Merci pour la rapidité du réponse
      bien que je sois un débutant, je vais essayer de comprendre les contenue des liens que tu m'a proposé
      Mais qu'entend tu par Déjà...La comparaison se fait avec 2 =
      à quel niveau devrais-j’ajouter un autre signe = ?
      0
    5. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Kowli_12 Messages postés 11 Statut Membre
       
      J'avais mal lu ton IF.
      Là non ça n'aurait pas été nécessaire.
      0
  2. Kowli_12 Messages postés 11 Statut Membre
     
    Merci encore pour tes tuyaux qui m'a permit de voir l’erreur, en faite c'était au niveau de la base de données.
    Je vous remercie vous deux d'avoir pris votre temps si précieux pour m’aiguillais
    Je vais marquer comme résolu
    0