Ola,
J ai un souci avec le code suivant.

<?php
			if(!empty($_POST['amdp']) && ($_POST['amdp'] == $_SESSION['mot_de_passe'] )) { 
					if (!empty($_POST['nmdp']) && !empty($_POST['cmdp']) && $_POST['nmdp'] == $_POST['cmdp']){
						$req = $con->prepare('UPDATE partenaires SET mot_de_passe = :mot_de_passe WHERE nom = :nom');
						$req->execute(array(
						'mot_de_passe' => $_POST['nmdp'],
						'nom' => $_SESSION['nom'],
						));		
					}else{
						echo 'les mots de passe ne sont pas identiques';
					}	
				echo 'reussi';
			}else{
				echo 'raté';
			}
?>			



En fait je peux faire la modification du mot de passe une seule fois, à la connexion. Ensuite ma condition renvoie "raté".
Je penses que je ne recharge pas quelque chose, mais quoi ?
D'autre part étant débutant, je suis preneur sur tous commentaires par rapport à ce code.

Bien à vous, que le soleil nous revienne... Smiley cligne
Je pense que si tu changes le passe la condition suivante n'est forcément plus valide.

$_POST['amdp'] == $_SESSION['mot_de_passe']
Ok effectivement, du coup si je met ce bout de code en fin de 2ème condition ça roule.


$_SESSION['mot_de_passe'] = $_POST['nmdp']; 


Est-ce la solution ?
Modifié par urlien (29 Apr 2014 - 11:12)
Oui voilà il te suffit juste de rajouter :

$_SESSION['mot_de_passe'] = $_POST['nmdp'];


a la fin de l'exécution de ta requête si elle est ok.
Modifié par tsakl (29 Apr 2014 - 11:54)