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 :

Comment modifier l'ancien mot de passe du membres dans la base de donnée ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 21
    Points
    21
    Par défaut Comment modifier l'ancien mot de passe du membres dans la base de donnée ?
    Bonjour,

    Lorsque mes membres s'inscrivent ils rentrent leur mot de passe et je voudrai qu'il puisse le modifier et en mettre un nouveau s'ils le désirent.

    Pour cela voici le forumulaire : modification_passe.php ou les membres rentrent leur ancien et nouveau mot de passe.

    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
    27
     
    <?php
    session_start();
    define ("INDEX", true);
    define ("LOGIN", true);
    include("include/include.php");
    include('header.php');
    ?>
     
     
     
    			<p align="center">
    			Pour modifier votre mot de passe, entrez les informations demandées !</p>
     
    			<form method="POST" action="modification_passe_ok.php">
    				<p align="center">Votre ancien mot de passe :<br>
    				<input type="password" name="passe_change_ancien" size="33"></p>
    				<p align="center">Votre nouveau mot de passe : <br>
    				<input type="password" name="passe_change_new" size="33"></p>
    				<p align="center">Confirmez-le :<br>
    				<input type="password" name="passe_change_new_con" size="33"></p>
    				<p align="center">
    				<input type="submit" value="Envoyer" name="B1"></p>
    			</form>
    <?php
    include('footer.php');
    ?>
    Voici la page modification_passe_ok.php çi-dessous :
    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
    <?
    session_start();
    define ("INDEX", true);
    define ("LOGIN", true);
    include("include/include.php");
    include("include/conf.php");
     
    $passe_change_ancien = md5($passe_change_ancien);
    $passe_change_new = md5($passe_change_new);
    $passe_change_new_con = md5($passe_change_new_con);
     
    if($passe_ok_membre =="$passe_change_ancien") {} else {header('location: mod_passe.php?mess=Ancien mot de passe incorrecte !');exit;}
    if($passe_change_new_con =="$passe_change_new") {} else {header('location: mod_passe.php?mess=Vérifier les mot de passe entrer !');exit;}
    #############################################################################################################################
    $requete=mysql_db_query($nombase,"UPDATE `membres` SET `passe` = '$passe_change_new' WHERE `pseudo` = '$pseudoem'",$db_link) or die(mysql_error());
    header('location: modification_passe.php?mess=Modification enregistré !');exit;
    mysql_close($db_link);
    ?>
    <?php
    //fermeture sql
    mysql_close($db_link);
    ?>
    Donc lorsque je j'essais de changer mon mot de passe cela ne marche pas, cela m'envois vers une erreur 404, POURQUOI ? OU EST MON ERREUR DANS LE SCRIPT ?

    Aidez moi svp !!

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Ben une erreur 404 ne vient pas d'une erreur dans le code. Sa signifie page non trouvée... Donc tu dois avoir une erreur dans tes redirections, contrôle bien tes noms de pages.

    Par contre je te conseille de regarder des bouts de code parce que tu fais des sacrés erreurs de structuration dans ton code!
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 21
    Points
    21
    Par défaut mot passe
    oui déjà ces liens là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IF($passe_ok_membre =="$passe_change_ancien") {} else {header('location: mod_passe.php?mess=Ancien mot de passe incorrecte !');exit;}
    IF($passe_change_new_con =="$passe_change_new") {} else {header('location: mod_passe.php?mess=Vérifier les mot de passe entrer !');exit;}
    Il s'agit de modication_passe.php

    Mais sinon tu peux m'en dire plus car cela me mets que l'ancien mot de passe est incorrecte alors qu'il s'agit bien du bon.

    COMMENT FAIRE svp ?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    si tu as le message Ancien mot de passe incorrect ! (sans e à incorrect), c'est que $passe_ok_membre est différent de $passe_change_ancien (pourquoi des guillemets ?), même si tu penses le contraire

    je ne sais pas comment tu récupères tes trois mots de passe avec POST. je suppose que c'est dans include.php ou conf.php

    assures-toi que tu n'appliques pas deux fois md5 à $passe_change_ancien (une première fois dans un des include)

    fais un echo de l'ancien et du nouveau afin de les comparer

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    Donc voila ce que j'ai mis :

    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
    <?
    session_start();
    define ("INDEX", true);
    define ("LOGIN", true);
    include("include/include.php");
    include("include/conf.php");
     
    $passe_change_ancien = $passe_change_ancien;
    $passe_change_new = $passe_change_new;
    $passe_change_new_con = md5($passe_change_new_con);
     
    if($passe_ok_membre !="$passe_change_ancien") {} else {header('location: modification_passe.php?mess=Ancien mot de passe incorrect !');exit;}
    if($passe_change_new_con !="$passe_change_new") {} else {header('location: modification_passe.php?mess=Vérifier les mots de passes entrés !');exit;}
    #############################################################################################################################
    $requete=mysql_db_query($nombase,"UPDATE `membres` SET `passe` = '$passe_change_new_con' WHERE `pseudo` = '$pseudoem'",$db_link) or die(mysql_error());
    header('location: modification_passe.php?mess=Modification enregistré !');exit;
    mysql_close($db_link);
    ?>
    <?php
    //fermeture sql
    mysql_close($db_link);
    ?>
    Cela me change bien le mot de passe dans ma base de donnée et en crypté, je peux me connecter avec le nouveau mot de passe.

    Par contre, si je mets n'importe quoi comme ancien mot de passe cela me le prends quand même alors que cela ne devrait pas ???

    on avance on avance tout doucement, merci pour ton aide
    cela doit-être un truc tout bête, mais ne sait pas quoi ?

    Que faudrait-il écrire pour que cela regarde si l'ancien mot de passe est = à l'ancien mot de passe taper ?

  6. #6
    Membre actif Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Points : 247
    Points
    247
    Par défaut
    il te suffit de faire une requette sur mysql pour récup le mdp du membre

    et de faire un if ($passe_change_ancien != récup sql )
    La connaissance n'est rien si elle n'est pas partagé

    Citation de Confucius :
    Ceux dont la connaissance est innée sont des hommes tout à fait supérieurs. Puis viennent ceux qui acquièrent cette connaissance par l'étude. Enfin, ceux qui, même dans la détresse, n'étudient pas : c'est le peuple.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    ok merci tout de même !!

    Je viens de résoudre le pb à l'instant !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/09/2014, 20h13
  2. UserForm mot de passe avec cryptage dans la base de registre
    Par lmc38 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/11/2012, 20h18
  3. UserForm mot de passe avec cryptage dans la base de registre
    Par fred65200 dans le forum Contribuez
    Réponses: 1
    Dernier message: 24/01/2010, 22h56
  4. Réponses: 1
    Dernier message: 15/04/2009, 18h28
  5. Réponses: 2
    Dernier message: 22/02/2008, 14h20

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