public function resetPassword($token) { $userManager = new UserManager(); $succes = ""; $error = ""; // On verif si le token de URL est bien celui de la BDD pour trouver le user $foundUser = $userManager->getToken($token); // Si user pas trouver = retour sur la home su site if (empty($foundUser)) { $this->redirectToRoute('home'); //die(); } // Confirmation du Form de reset MDP if (!empty($_POST)) { $password = trim($_POST['password']); $password_confirm = trim($_POST['password_confirm']); if (empty($password)) { $error = "Veuilliez renseigner votre Mots de passe !"; } elseif ($password !== $password_confirm) { $error = "Vos mots de passe ne conrresponde pas !"; } else { $containsLetter = preg_match('/[a-zA-Z]/', $password); $containsDigit = preg_match('/\\d/', $password); if (!$containsLetter || !$containsDigit) { $error = "Veulliez choisir un mot de passe avec au moin une lettre, et un chiffre !"; } } if (empty($password_confirm)) { $error = "Veuilliez confirmer votre Mots de passe !"; } if (empty($error)) { //insérer en base $hash = password_hash($password, PASSWORD_DEFAULT); $id = $foundUser['id']; $newPassword = ["password" => $hash]; $userManager = new \Manager\UserManager(); $userManager->update($newPassword, $id); $this->redirectToRoute('connexion'); $succes = "Votre Mots de passe a bien été changer !"; } } $data = []; $data['succes'] = $succes; $data['error'] = $error; $this->show('user/reset_password', $data); }
public function changePassword() { $userManager = new UserManager(); if (!empty($_GET)) { $_SESSION['token'] = $_GET['token']; $token = $_SESSION['token']; } $user = $userManager->getToken($token); $confirm_password = ""; $errorConfirm_password = ""; if (!empty($_POST)) { $password = trim(strip_tags($_POST['password'])); $confirm_password = trim(strip_tags($_POST['confirm_password'])); if ($password != $confirm_password) { $errorConfirm_password = "******"; } else { if (strlen($password) < 6) { $errorConfirm_password = "******"; } else { $containsLetter = preg_match('/[a-zA-Z]/', $password); $containsDigit = preg_match('/\\d/', $password); $containsSpecial = preg_match('/[^a-zA-Z\\d]/', $password); if (!$containsLetter || !$containsDigit || !$containsSpecial) { $errorConfirm_password = "******"; } } } if ($errorConfirm_password == "") { $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $id = $user['id']; $newPassword = ["password" => $hashedPassword]; $userManager->update($newPassword, $id); } } $data['errorConfirm_password'] = $errorConfirm_password; $this->show('user/change_password', $data); }