忍者ブログ
バナヤンの忍者風呂
忍者ブログのカスタマイズ、各種WEBツールのテストなど試行錯誤の日々。 VMLによる地図の作成を研究していましたが、一時中断して、今はPHPを勉強しているところです。
ニュース
この欄には、このブログの内容に関連するニュースを掲載する予定です。
お知らせ
この欄には管理人からのお知らせなどを掲載します。
[39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49]

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHP ログイン管理2:ログアウト

PHP ログイン管理1 」でログイン画面とその認証、認証後のページについて、見てきました。今回のテーマは、「ログアウト」です。

まず、ログアウト用のページのソースを示します。
[ソース]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
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード
QRコード
忍者ブログ [PR]
Copyright (C) 2006 banayan ALL RIGHTS RESERVED.