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