par
davidseb » 12 mars 2011, 16:00
Bonjour,
J'ai un problème avec mon script de changement de mot de passe. Lorsque tout est bon (ancien mot de passe correct, et nouveau mot de passe bien confirmé), j'ai un message d'erreur je vous joint mon script et le message d'erreur :
Script :
<?php
$form_changepassword = false;
if(isset($_POST['login'])&&
isset($_POST['mdp'])&&
isset($_POST['nmdp'])&&
isset($_POST['cnmdp'])){
if ($_POST['nmdp'] == $_POST['cnmdp']) {
if (Utilisateur::getUtilisateur($_POST['login']) != null) {
if (Utilisateur::testerMdp($_POST['login'],$_POST['mdp'])) {
$dbh=Database::connect();
$sth = $dbh->prepare('UPDATE `utilisateurs` SET `mdp`=sha1('.$_POST['nmdp'].') WHERE `login`="'.$_POST['login'].'"');
$sth->execute();
$dbh = null;
echo 'Mot de passe modifié';
$form_changepassword = true;
} else {
echo'Mot de passe incorrect';
}
} else {
echo'Utilisateur inexistant';
}
} else {
echo'Erreur confirmation mot de passe';
}
}
if (!$form_changepassword) {
echo '<form action="index.php?page=changepassword" method="post">' .
'<p>Login : <input name="login" value="' .
(isset($_POST["login"]) ? $_POST["login"] : "") . '"</p>' .
'<p>Ancien mot de passe : <input name="mdp" type="password"/></p>
<p>Nouveau mot de passe : <input name="nmdp" type="password"/></p>
<p>Confirmer le nouveau mot de passe : <input name="cnmdp" type="password"/></p>
<p><input type="submit" value="Valider"/></p></form>';
$form_values_valid = true;
}
?>
message d'erreur :
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'popopo' in 'field list'' in /Applications/XAMPP/xamppfiles/htdocs/ModexWeb/changepassword.php:14 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/ModexWeb/changepassword.php(14): PDOStatement->execute() #1 /Applications/XAMPP/xamppfiles/htdocs/ModexWeb/index.php(59): require('/Applications/X...') #2 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/ModexWeb/changepassword.php on line 14
Merci d'avance de votre aide
Bonjour,
J'ai un problème avec mon script de changement de mot de passe. Lorsque tout est bon (ancien mot de passe correct, et nouveau mot de passe bien confirmé), j'ai un message d'erreur je vous joint mon script et le message d'erreur :
Script :
<?php
$form_changepassword = false;
if(isset($_POST['login'])&&
isset($_POST['mdp'])&&
isset($_POST['nmdp'])&&
isset($_POST['cnmdp'])){
if ($_POST['nmdp'] == $_POST['cnmdp']) {
if (Utilisateur::getUtilisateur($_POST['login']) != null) {
if (Utilisateur::testerMdp($_POST['login'],$_POST['mdp'])) {
$dbh=Database::connect();
$sth = $dbh->prepare('UPDATE `utilisateurs` SET `mdp`=sha1('.$_POST['nmdp'].') WHERE `login`="'.$_POST['login'].'"');
$sth->execute();
$dbh = null;
echo 'Mot de passe modifié';
$form_changepassword = true;
} else {
echo'Mot de passe incorrect';
}
} else {
echo'Utilisateur inexistant';
}
} else {
echo'Erreur confirmation mot de passe';
}
}
if (!$form_changepassword) {
echo '<form action="index.php?page=changepassword" method="post">' .
'<p>Login : <input name="login" value="' .
(isset($_POST["login"]) ? $_POST["login"] : "") . '"</p>' .
'<p>Ancien mot de passe : <input name="mdp" type="password"/></p>
<p>Nouveau mot de passe : <input name="nmdp" type="password"/></p>
<p>Confirmer le nouveau mot de passe : <input name="cnmdp" type="password"/></p>
<p><input type="submit" value="Valider"/></p></form>';
$form_values_valid = true;
}
?>
message d'erreur :
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'popopo' in 'field list'' in /Applications/XAMPP/xamppfiles/htdocs/ModexWeb/changepassword.php:14 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/ModexWeb/changepassword.php(14): PDOStatement->execute() #1 /Applications/XAMPP/xamppfiles/htdocs/ModexWeb/index.php(59): require('/Applications/X...') #2 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/ModexWeb/changepassword.php on line 14
Merci d'avance de votre aide