j'ai mis en place un site , mais je voulais créer un formulaire permettant un visiteur de s'authentifier après inscription et avoir un champs lui permettant de modifier son mot de passe voici ainsi le formulaire de modification mot de passe de l'utilisateur: ce script contient un erreur je sais ou ,je voulais de l'aide merci de votre aide Smiley sweatdrop




<form method="post" action="modif_aut.php">
login : <input type="text" name="login" value="<?php echo $login; ?>">
<br>
ancien mot de passe : <input type="password" name="old_pwd">
<br>
nouveau mot de passe :<input type="password" name="new_pwd">
<br>
nouveau mot de passe(2) :<input type="password" name="new_pwd2">
<br>
<input type="submit" name="bouton" value="valider">
</form>
<h1><?php echo $message; ?></h1>


2-modif_aut.php


<?php

require_once('Connections/db_connexion.php');

$message = '';
$login = '';
if ( isset( $_POST['email'] )) {
$login = $_POST['email'];
echo "votre mail :". $login."<br>";
$sql="SELECT motpass FROM client WHERE email_client ='$login'";
// $sql = "SELECT * FROM users WHERE login = '$id'";
echo "<br>", $sql;
$result = mysql_query( $sql);

$row = mysql_fetch_array($result);
// Vérification que l'ancien mot de passe est bon
if ($row['motpass'] == $_POST['mot de passe']) {
echo '<br>Ancien password correct !';
// Vérification que les nouveaux mots de passe sont bons
if ($_POST['mot de passe1'] == $_POST['mot de passe']) {
echo '<br>Nouveaux passwords corrects !';
$rqt = 'UPDATE client SET motpass = \''.$_POST['mot de passe1'].'\' WHERE email_client = \''.$_POST['email'].'\'';

if( mysql_query($rqt))
{

$message = '<br><span style="color: red">OK : mot de passe mis à jour.</span>';
unset($_POST);
} else {
$message = '<br><span style="color: red">Echec mise à jour, erreur inconnue !</span>';
}
} else {
$message = '<br><span style="color: red">Les nouveaux mots de passe ne correspondent pas !</span>';
}

} else {
$message = '<br><span style="color: red">Ancien mot de passe erroné !</span>';
}
} else {
$message = '<br><span style="color: red">Ce email n\'existe pas !</span>';
unset($_POST['email']);
}

?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
<?php echo $message;?>
</body>
</html>
Salut,

Dans ton code php :
if ( isset( $_POST['email'] )) {
$login = $_POST['email'];


Il y a un
isset($_POST['email'])
mais je vois pas de champ avec un
name="email"
dans ton formulaire.. Ça vient peut-être de la ?
Modifié par Hamson (07 Jul 2014 - 10:14)