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 :

Modifier mot de passe [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Par défaut Modifier mot de passe
    Bonjour à tous,
    Je commence tout juste le PHP et un petit site d'administration antenne pour une radio. J'ai déja codé la plus grosse partie, je veux maintenant coder la partie modification des informations membres et je suis face à un problème: modifier le mot de passe.
    Le mot de passe que je veux modifier est crypté en MD5 dans une table sql.

    Voici le code de ma page ou je demande les infos à l'user :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form action="modifinfos.php" method="post">
    <br>
    Mot de passe actuel&nbsp; : <br>
    <input type="password" name="passactuel" />
    <br>Nouveau mot de passe :<br>
    <input type="password" name="newpass" /> 
    <!-- <br>Confirmer nouveau mot de passe :<br>
    <input type="password" name="newpassverif" />
    <br> -->
    <br>
    <input name="submit" type="submit" class="Style2" value="Valider !" /></form>
    Le champs newpassverif est volontairement mis de coté pour le moment.

    Et voici le code de la page modifinfos.php :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php
    session_start();
     
    if($_SESSION['log'] != true) {
    	echo '<h1>Accès Interdit</h1>';
    	exit;
    }
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Modifications</title>
    </head>
     
    <body>
    <?php
     
    $passactuel = $_POST['passactuel'] ; //MDP actuel saisi par user
    $passactuel_crypt = md5($_POST['passactuel']); //MDP actuel saisi par user crypté
    $newpass = $_POST['newpass'] ; //Nouveau MDP souhaité par user
     
    			//CONF CONNEXION BDD
    		define('SQL_SERVER','localhost');
    		define('SQL_USER','xxxxxx');
    		define('SQL_PASS','xxxxxxx');
    		define('SQL_BDD','xxxxxx');
     
    		$db_link = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASS);
    		mysql_select_db(SQL_BDD);
    		$login=$_SESSION['pseudo'];
    		$sql = 'SELECT Membres.pass FROM Membres WHERE Membres.login="'.$login.'";';
    		$rc = mysql_query($sql);
    		$resultat = mysql_fetch_array($rc);
    		$passrequete = $resultat[pass]; //$passrequete contient le mot de passe trouvé par requete dans la table crypté en MD5
    		echo $passrequete;
     
    		if ($passactuel==$passrequete){ //Comparaison entre les deux hash MD5
    				$newpass_crypt = md5($newpass); //Nouveau MDP souhaité par user crypté
    				$sql2 = 'UPDATE Membres SET pass="'.$newpass_crypt.'" WHERE Membres.login="'.$login.'";';
    				mysql_query($sql2);
    				echo "Felicitation " . "<font color='FF0000'>" . $_SESSION['pseudo'] . "</font>" . " vous avez changé de mot de passe.";
    			}
    ?> 
     
    </body>
     
    </html>
    J'ai testé, une fois cliqué sur validé, une page blanche apparait... Seul mon echo qui affiche mon mot de passe en md5 est inscrit sur la page.
    Le mot de passe n'est pas changé... Sauriez vous m'aiguiller pour trouver mon/mes erreur(s)? Je ne sais pas si mon idée de comparer deux hash md5 est valable?

    Je vous remercie par avance,
    Milka69

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($passactuel==$passrequete){ //Comparaison entre les deux hash MD5
    Sauf que ton pass MD5, c'est pas $passactuel mais $passactuel_crypt

    d'après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $passactuel = $_POST['passactuel'] ; //MDP actuel saisi par user
    $passactuel_crypt = md5($_POST['passactuel']); //MDP actuel saisi par user crypté

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Par défaut
    Bonsoir Shikiryu,

    Merci pour le coup d'oeil
    J'ai honte d'avoir fait un topic pour cela... ça marche parfaitement maintenant

    Je te remercie grandement, ça m'aura évité de chercher des heures une erreur compliquée qui est en faite toute simple !

    Bonne soirée,
    Milka69

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

Discussions similaires

  1. [MySQL] modifier mot de passe
    Par waltcap dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/11/2010, 01h09
  2. modifier mot de passe
    Par Snake-Eyes dans le forum C++
    Réponses: 5
    Dernier message: 11/06/2009, 16h07
  3. Modifier Mot-de-passe Utilisateur
    Par Le_Suisse dans le forum Bases de données
    Réponses: 0
    Dernier message: 05/11/2008, 11h48
  4. Modifier mot de passe administrateur
    Par elghadi_mohamed dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 12/11/2007, 04h52
  5. modifier mot de passe de la base de donnée
    Par zut94 dans le forum Access
    Réponses: 9
    Dernier message: 28/02/2006, 11h36

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