Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mettre des données SQL dans une session

    16 septembre 2019 à 16:01:13

    Bonjour,
    Je souhaites récupérer des données de ma table SQL afin de les mettre en session mais je n'arrive à modifier ce script.
    Je récupère bien les POST en session mais, pas les données "type_compte" et "identifiant".
    Comment puis-je faire et si il est possible d'avoir une explication.

    Merci d'avance. :)

        $bdd = getBdd();
        $requete = "SELECT identifiant, type_compte FROM comptes WHERE email=? AND password=?";
        $resultat = $bdd->prepare($requete);
        $login = $_POST['login'];
        $mdp = $_POST['mdp'];
        $resultat->execute(array($login, $mdp));
    
        if ($resultat->rowCount() == 1)
            {
              $_SESSION['identifiant'] =  $resultat->identifiant;
              $_SESSION['type_compte'] =  $resultat->type_compte;
              $_SESSION['login'] = $login;
              $_SESSION['mdp'] = $mdp;
              $authOK = true;
            }



    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2019 à 16:30:28

      Salut,

      rowCount() => uniquement sur Insert/Update/Delete cf la doc qu'il faut lire des fois,

      Ta requête ne renvoie sûrement rien, comment est géré le mot de passe ?

      => en clair ==> TRÈS TRÈS mauvais

      => hashé avec passowrd_hash() => pas la bonne méthode de récupération

      => hashé avec autre chose ? => tu ne fais pas le hash pour le comparer avec la base

      Conclusion : Ta requête plante lamentablement mais tu ne le sais pas car tu développes sans activer les exceptions PDO + erreurs PHP

      -
      Edité par christouphe 16 septembre 2019 à 16:30:59

      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2019 à 16:53:36

        Reprends un cours sur PDO, tu as sauté l'étape de "fetch".

        L'objet PDOStatement ne contient pas directement le résultat de la requête comme tu cherches à le faire lignes 10 et 11.

        Pourquoi tu as besoin du mot de passe en session aussi ?

        -
        Edité par julp 16 septembre 2019 à 16:58:18

        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2019 à 17:40:21

          Effectivement mon mot de passe n'est pas hashé et je le récupère en session,évidement c'est pour le test, en version final le tout sera crypté et je n'aurai pas besoin du mot de passe en session. Merci de la remarque, je vais faire un tour sur l'étape "fetch".

          • Partager sur Facebook
          • Partager sur Twitter

          Mettre des données SQL dans une session

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown