IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupérer mot de passe [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut Récupérer mot de passe
    Bonsoir,

    Voilà j'ai une petite question...

    Je suis en train de développé un outil où il y'a un 'back-office'.
    On peut ajouter des utilisateur car il y'a une page avant celle ci où il faut ce logger. Donc une page index qui demande un login/mot de passe et si c'est ok, on arrive sur le back-office.

    Je sais mettre en place du code pour vérifier le login/mot de passe 'en dur'.

    Par contre, aller chercher dans une base de données un login et vérifier le mot de passe (hashage via MD5), aucune idée.

    Quelqu'un pourrait m'aider ?

    Merci et bonne fin de soirée.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu ne sais pas comment interroger une base de données commence par ici :
    http://sylvie-vauthier.developpez.co...e=bdd#LVII-1-b

  3. #3
    Membre averti

    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 130
    Points : 373
    Points
    373
    Par défaut
    Salut, si tu veux faire une zone protéger pour une admin, tu peux utiliser un .htaccess

    va voir ici : http://cchatelain.developpez.com/art...ache/htaccess/

  4. #4
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    En fait je sais me connecter à la BDD, et je sais faire un peu plus mais pas encore asser

    Ca doit etre évident mais je bloque, voici mon code en début de page HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
        $login = $_POST['login']; // Je récupère le login de la page index.
        $mdp = $_POST['mdp']; // Idem avec le mot de passe.
     
        connect_BDD();
     
        $query = mysql_query ("SELECT user, mdp FROM TABadmin");
     
     
        $donnees = array(mysql_fetch_array($query));
     
        if (in_array($donnees, $_POST['admin_index']))
        {
            header('Location: page2.php');
        }
     
        mysql_close;
    Voilà, j'ai essayé un truc du genre et d'autres mais je n'y arrive pas...

    HELP ME

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ta requête lis tous les user et tous les mp de la table.
    Il faut ajouter une clause WHERE.

  6. #6
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ta requête lis tous les user et tous les mp de la table.
    Il faut ajouter une clause WHERE.
    euh mais sinon mon code est bon ?
    Parce qu'après avoir mis le Post j'ai essayé, sans succès...

    Là, je viens de récupérer le code, ajouté le WHERE et ... Idem...

    Merci pour ta réponse.

    EDIT : voici le where
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = mysql_query ('SELECT user FROM TABadmin WHERE user="$login"');

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Heu non tout le reste est faux aussi


    Tout d'abord il faut echapper les variables recues du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    connect_BDD();
    $login = mysql_real_escape_string($_POST['login']);
    Apres tu deviens un peu folklorique

    Que viens faire ce "array" ici ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $donnees = array(mysql_fetch_array($query));
    Qu'est ce que c'est ce 'admin_index' ; quel est son lien avec le login/mdp ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        if (in_array($donnees, $_POST['admin_index']))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = mysql_query ('SELECT user FROM TABadmin WHERE user="$login"');
    Tu cherches la valeur de "user" quand user=$login ?
    Je pense que tu veux plutôt le mot de passe quand user='$login' (note au passage les apostrophes pour encadrer le login dans la requete).
    Il te restera donc a comparer si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $donnes['mdp'] == md5($mdp);

  8. #8
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Alors attends je remet le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
        connect_BDD();
     
        $admin_index = mysql_real_escape_string($_POST['admin_index']);
        $mdp_index = mysql_real_escape_string($_POST['mdp_index']);
     
        $query = mysql_query('SELECT user FROM admin WHERE user="$admin_index"');
     
        $donnees = mysql_fetch_array($query);
     
        if (in_array($donnees, $_POST['admin_index']))
        {
            header('Location: ajout.php');
        }
     
        // On ferme la BDD.
        mysql_close;
    Pour le 'array' j'avais bien un doute mais comme ca marché pas sans j'ai essayé avec

    Pour le 'admin_index', là c'est une erreur de copie/coller car je n'avais pas cette erreur dans mon code initial.

    Par contre, en l'état ca ne marche toujours pas. Je cherche (encore, lol)

    Merci pour ta réponse.

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu cherches le "mdp" pas le "user" (le user tu le connais déjà c'est $login) et ton in_array() n'a rien a faire la, je t'ai indiqué l'égalité a controler.

  10. #10
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par sabotage Voir le message
    tu cherches le "mdp" pas le "user" (le user tu le connais déjà c'est $login) et ton in_array() n'a rien a faire la, je t'ai indiqué l'égalité a controler.
    Oui j'ai oublié de te préciser que je ne m'occupé pas pour le moment du mot de passe... j'arrive tjs pas a faire fonctionner ca... :/

  11. #11
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Salut

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query = mysql_query("SELECT user FROM admin WHERE user='$admin_index'");

    et non

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query = mysql_query('SELECT user FROM admin WHERE user="$admin_index"');

  12. #12
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Merci pour ta réponse...

    Alors effectivement ca marche mieux... Trop en fait

    Alors ce qui es bizarre, si je ne met rien dans login et mdp ou si je met que le mdp (qui es faux) j'arrive a changer de page... Si je met un mauvais login, ca passe pas et si je met le bon login avec le bon mdp, ca passe pas non plus.

    Voici le code :

    index :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="odyssee_back" id="odyssee_back" action="ajout.php" method="post">
    ajout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php
     
        require_once ("../connection.php");
        require_once ("../fonctions.php");
     
        // Connection à la BDD, voir le fichier 'connection.php' pour les détails.
        connect_BDD();
     
        $admin_index = mysql_real_escape_string($_POST['admin_index']);
        $mdp_index = mysql_real_escape_string($_POST['mdp_index']);
     
        $query = mysql_query("SELECT user, mdp FROM admin WHERE user='$admin_index' && mdp='$mdp_index'");
     
        $donnees = mysql_fetch_array($query);
     
        if (($donnees['user'] != $admin_index) && ($donnees['mdp'] != md5($mdp_index)))
        {
            header('Location: index.php');
            exit();
        }
     
        // On ferme la BDD.
        mysql_close;
     
    ?>

  13. #13
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    $query = mysql_query("SELECT count(*) FROM admin WHERE user='$admin_index' && mdp='$mdp_index'");
     
        while($donnees = mysql_fetch_array($query))
             $nb_ligne = $donnees[0];
     
        if ($nb_ligne == 0)
        {
            header('Location: index.php');
            exit();
        }

  14. #14
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    euh, je suis dsl mais là y'a plus rien qui passe...

    Si je dois montrer une autre ligne de code dites moi mais là je vois pas...

  15. #15
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    C'est pas au niveau du 'if' ?
    J'ai essayé plusieurs trucs mais sans succès...

  16. #16
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Fais un echo $nb_ligne après ton while, il doit retourner 0 si aucune occurence a été trouvée en base

  17. #17
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Beh en fait j'ai 0 tout le temps, que je rentre que le login, que le mot de passe ou les deux (aussi bien n'importe quoi, que quelque chose qui ce trouve sur la base de données...)

  18. #18
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Tu récupères bien tes variables $admin_index et $mdp_index dans ajout.php ? Tu as fais un echo dessus ?

  19. #19
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Je viens de faire un echo sur mes deux variables et oui ca m'affiche bien ce que je rentre dans les champs textes de la page index.

    Mon <form> à bien la méthode POST, action sur la bonne page.

  20. #20
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    ta requete et elle valide ?

    place un mysql_error() à la fin pour vérifier

    $query = mysql_query(..) or die(mysql_error());

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Récupérer mot de passe crypté dans BDD depuis application iOS
    Par JPBH31 dans le forum Développement iOS
    Réponses: 2
    Dernier message: 17/02/2014, 12h01
  2. Réponses: 3
    Dernier message: 17/02/2012, 09h21
  3. Récupérer mot de passe d'origine de ma BDD 1&1
    Par stephanech dans le forum 1&1
    Réponses: 1
    Dernier message: 28/05/2011, 13h32
  4. [C#] [Active Directory] Récupérer mot de passe
    Par daveg dans le forum Windows Forms
    Réponses: 29
    Dernier message: 26/02/2008, 15h28
  5. Réponses: 1
    Dernier message: 19/09/2005, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo