diff options
Diffstat (limited to 'Core/Functions/func_logout.php')
| -rw-r--r-- | Core/Functions/func_logout.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Core/Functions/func_logout.php b/Core/Functions/func_logout.php new file mode 100644 index 0000000..dd6a411 --- /dev/null +++ b/Core/Functions/func_logout.php @@ -0,0 +1,40 @@ +<?php + +// ############################################################################ +// # # +// # Decription: Fonction pour se déconnecter # +// # # +// ############################################################################ + +function logout() { + // On instancie les méthodes de gestion de la BDD. + $dbuser = new DbUser; + + // On récupère la session + session_start(); + // On conserve la langue qui était sélectionnée. + $lang = $_SESSION["lang"]; + // On détruit la session. + session_destroy(); + + // On supprime le token d'auto-connection dans la BDD. + $dbuser->del_token_autologin($_SESSION["email"]); + // Et le cookie + if (isset($_COOKIE["autoLogin"])) { + unset($_COOKIE["autoLogin"]); + setcookie("autoLogin", "", time() - 3600, "/"); + } + + // Et on en redémarre une nouvelle. + session_start(); + $_SESSION["loggedIn"] = "0"; + $_SESSION["lang"] = $lang; + + // Enfin on redirige avec le bon message. + $message = ["logout", "success"]; + $_SESSION["message"] = $message; + header("Location: /Templates/message.php"); + die(); +} + +?>
\ No newline at end of file |
