user_check_credential($email, $pass); // ou par cookie. } else { // On essaie une fois. $userId = $dbuser->autologin_token_check($cookie[0], $cookie[1]); // Et on le supprime. $dbuser->autologin_token_delete($cookie[0]); } // Si on a un résultat valide. if ($userId) { $dbsearch = new DbSearch; // LoggedIn devien "true". $_SESSION["loggedIn"] = "1"; // et on remplie les variables de la session avec les infos de l'utilisateur. $userInfo = $dbsearch->get_user_account_by_id($userId); foreach ($userInfo as $key => $value) { $_SESSION[$key] = $value; } // Si était coché remember me ou que la connection s'est faite via cookie, // on en génère un nouveau. if ($remember || $cookie) { $name = "autoLogin"; // On génère une chaine de caractère aléatoire en supprimant les caractères spéciaux de base64. $token = str_replace(["+", "/", "="], "", base64_encode(random_bytes(32))); // On update le nouveau token. $dbuser->autologin_token_update($_SESSION["email"], $token); // Enfin on place l'ensemble sur le navigateur du client codé en base64. setcookie($name, base64_encode(json_encode(array($_SESSION["email"], $token))), time() + (86400 * 7), "/" ); } // On sélectionne le bon message en fonction du type de connection. if (!$cookie) { $messageNumber = 3; } else { $messageNumber = 5; } } else { // Si la connection a échoué. if (!$cookie) { $messageNumber = 4; // Si la connection à échoué par cookie. } else { // Suppression du cookie. unset($_COOKIE["autoLogin"]); setcookie("autoLogin", "", time() - 3600, "/"); $messageNumber = 6; } } // On redirige vers message. $_SESSION["messageNumber"] = $messageNumber; header("Location: /Views/message.php"); die(); } ?>