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
| <?php
//pour raison de sécurité, il me parait plus sage de passer par une session que par get ou hidden post (qui se voit dans le code source !)
session_start();
if (isset($_SESSION['id']) AND isset($_SESSION['token'])) {
$form='<form action="activ_mdp.php" method="POST">
<input type="password" name="mdp" placeholder="Nouveau Mot de passe">
<input type="password" name="mdp2" placeholder="Confirmez le nouveau Mot de passe">
<input type="submit" name="valider" value="Envoyer">
</form>';
if(isset($_POST['valider'])) {
//fonction verification des champs
$erreur = mdpModif();
// pas d'erreur
if (empty($erreur)) {
$mdp = sha1($_POST['mdp']);
$req = Cnx::connectCnx()->prepare('UPDATE equipe e SET e.mdp=:mdp WHERE id='.$_SESSION['id']);
$req -> bindParam(':mdp', $mdp);
$req -> execute();
$req1 = Cnx::connectCnx()->exec('DELETE FROM mdp_lost WHERE id_contact_mdp_lost='.$_SESSION['id']);
header("Refresh:2; URL=../login.php");
$resultat = "Mot de passe modifié avec succès";
}
else {
echo '<div class="error">';
foreach ($erreur as $e) {
echo $e, '<br />';
}
echo '</div>';
}
}
$req = Cnx::connectCnx()->prepare("SELECT id_contact_mdp_lost, token_mdp_lost FROM mdp_lost WHERE id_contact_mdp_lost=:id_contact_mdp_lost AND token_mdp_lost=:token_mdp_lost");
$req->execute(array('id_contact_mdp_lost' => $_SESSION['id'], 'token_mdp_lost' => $_SESSION['token']));
if ($result = $req->fetch(PDO::FETCH_OBJ)) {
echo $form;
}
else {
header("Location: ../login.php");
}
}
else {
header("Location: ../login.php");
}
?> |
Partager