changepassword.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. session_start();
  3. if (!isset($_SESSION['login'])){
  4. header('Location: signin.php');
  5. exit();
  6. }
  7. if ($_SERVER['REQUEST_METHOD'] != 'POST') {
  8. header('Location: signin.php');
  9. exit();
  10. }
  11. if (!isset($_POST['passwd'], $_POST['passwdconf'])) {
  12. header('Location: signin.php');
  13. exit();
  14. }
  15. if (empty($_POST['passwd']) || empty($_POST['passwdconf'])) {
  16. header('Location: signin.php');
  17. exit();
  18. }
  19. $passwd = htmlspecialchars($_POST['passwd']);
  20. $passwdconf = htmlspecialchars($_POST['passwdconf']);
  21. if ($passwd != $passwdconf) {
  22. header('Location: signin.php');
  23. exit();
  24. }
  25. include_once('bdd.php');
  26. try {
  27. $pdo = new PDO(SQL_DSN, SQL_USERNAME, SQL_PASSWORD);
  28. }
  29. catch (PDOException $e) {
  30. $_SESSION['message'] = $e->getMessage();
  31. header('Location: signin.php');
  32. exit();
  33. }
  34. $req = $pdo->prepare('UPDATE Users SET passwd = :passwd WHERE login = :login');
  35. $req->bindValue(':passwd', password_hash($passwd, PASSWORD_DEFAULT));
  36. $req->bindValue(':login', $_SESSION['login']);
  37. if ($req->execute()) {
  38. header('Location: welcome.php');
  39. exit();
  40. } else {
  41. header('Location: formpassword.php');
  42. exit();
  43. }