ce souvenir lors de la connexion
This commit is contained in:
parent
42a41e5359
commit
0c6088d4da
5 changed files with 61 additions and 6 deletions
|
|
@ -25,6 +25,27 @@
|
|||
public function home(){
|
||||
|
||||
|
||||
if (!isset($_SESSION['user']) && isset($_COOKIE['remember_me'])) {
|
||||
|
||||
$token_du_cookie = $_COOKIE['remember_me'];
|
||||
$hash_a_verifier = hash('sha256', $token_du_cookie);
|
||||
|
||||
$objUserModel = new UserModel;
|
||||
// 2. On cherche le jeton dans TA table "tokens" (avec token_user_id)
|
||||
$row = $objUserModel->getTokenUser($hash_a_verifier);
|
||||
|
||||
if ($row) {
|
||||
// 3. Jeton trouvé ! On récupère les infos de l'utilisateur
|
||||
$user = $objUserModel->findUserById($row['token_user_id']);
|
||||
|
||||
if ($user) {
|
||||
// 4. On recrée la session comme lors d'un login normal
|
||||
$_SESSION['user'] = $user;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$intCategory = 0;
|
||||
if (!empty($_GET['filter_cat'])) {
|
||||
$intCategory = (int) $_GET['filter_cat'];
|
||||
|
|
|
|||
|
|
@ -36,7 +36,15 @@ class UserCtrl extends MotherCtrl {
|
|||
// Ajoute l'utilisateur en session
|
||||
$_SESSION['user'] = $arrResult;
|
||||
$_SESSION['success'] = "Bienvenue, vous êtes bien connecté";
|
||||
|
||||
if (isset($_POST['remember_me'])) {
|
||||
|
||||
$token = bin2hex(random_bytes(32));
|
||||
$token_hash = hash('sha256', $token);
|
||||
$objUserModel->remember($_SESSION['user']['user_id'],$token_hash);
|
||||
|
||||
setcookie('remember_me', $token, time() + (24*60*60), "/", "", false, true);
|
||||
|
||||
}
|
||||
header("Location:index.php");
|
||||
exit;
|
||||
}
|
||||
|
|
@ -49,11 +57,15 @@ class UserCtrl extends MotherCtrl {
|
|||
|
||||
|
||||
public function logout(){
|
||||
session_start();
|
||||
/*session_destroy();
|
||||
session_start();*/
|
||||
|
||||
if (isset($_COOKIE['remember_me'])) {
|
||||
$hash = hash('sha256', $_COOKIE['remember_me']);
|
||||
|
||||
$objUserModel = new UserModel;
|
||||
$objUserModel->deleteToken($hash);
|
||||
|
||||
// on supprime l'utilisateur en session
|
||||
setcookie('remember_me', '', time() - 3600, "/");
|
||||
}
|
||||
unset($_SESSION['user']);
|
||||
|
||||
$_SESSION['success'] = "Vous êtes bien déconnecté";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue