diff options
Diffstat (limited to 'php')
| -rwxr-xr-x | php/session.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/php/session.php b/php/session.php index acb2df3..6f2d714 100755 --- a/php/session.php +++ b/php/session.php @@ -84,6 +84,25 @@ function set_user_id(int $user_id): void { $_SESSION['user_id'] = $user_id; } +function sign_out(): void { + if (!has_session()) { + return; + } + + start_session(); + + $_SESSION = []; + + $parameters = session_cookie(0); + $parameters['expires'] = time() - 3600; + + unset($parameters['lifetime']); + + setcookie(session_name(), '', $parameters); + + session_destroy(); +} + function get_user_id(): ?int { if (!has_session()) { return null; |
