最新記事
(06/29)
(06/04)
(06/03)
(05/30)
(05/28)
|
ニュース
この欄には、このブログの内容に関連するニュースを掲載する予定です。
|
PHP ログイン管理2:ログアウト
「PHP ログイン管理1 」でログイン画面とその認証、認証後のページについて、見てきました。今回のテーマは、「ログアウト」です。
まず、ログアウト用のページのソースを示します。
[ソース]login1-e.php
まず、セッションをスタートします。
ログインをしてない人は、このページには用はないので、「ログイン」ページに飛ばします。
その次からがログアウト処理です。
「$_SESSION = array();」でセッション変数をすべて解除します。
「if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
」でセッションクッキーを削除すます。
「session_destroy();」で最終的に、セッションを破壊します。
これらを実行すると、セッションがない状態になり、ログインしていないことになります。
その後に記述しているHTMLはオマケです。これを記述しなくても、ログアウト処理は終了しています。ログアウトが完了したことの表示と、必要に応じて再ログインするため、ログインページへのリンクを貼りました。
まず、ログアウト用のページのソースを示します。
[ソース]login1-e.php
<?php
session_start();
if(!($_SESSION["usrid"])){
header("Location:login1-1.php");
exit;
}
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate");
?>
<html>
<head>
<title>ログイン1:ログアウト</title>
</head>
<body>
<p>ログアウトしました。</p>
<p><a href='login1-1.php'>再ログイン</a></p>
<hr>
</body>
</html>
まず、セッションをスタートします。
ログインをしてない人は、このページには用はないので、「ログイン」ページに飛ばします。
その次からがログアウト処理です。
「$_SESSION = array();」でセッション変数をすべて解除します。
「if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
」でセッションクッキーを削除すます。
「session_destroy();」で最終的に、セッションを破壊します。
これらを実行すると、セッションがない状態になり、ログインしていないことになります。
その後に記述しているHTMLはオマケです。これを記述しなくても、ログアウト処理は終了しています。ログアウトが完了したことの表示と、必要に応じて再ログインするため、ログインページへのリンクを貼りました。
PR