header

PHPでCookieの有効/無効を調べる

(1/1)

以前、「PHPでCookieを扱う」方法について説明したが、実際には、ユーザー側でCookieの受け入れを拒否している場合がある。そこで今回は、PHPでユーザーがCookieを有効にしているか無効にしているか調べるプログラムを紹介する。

プログラムは簡単で、実際にCookieを送ってみて(15行目)、 $_COOKIE変数で受け取れるかどうか(19行目)によって有効/無効を判断している。

0001: <?php
0002: // ここからPHPプログラム =======================================================
0003: /** iscookie.php
0004:  * cookieの有効/無効チェック
0005:  * @copyright   (c)studio pahoo
0006:  * @author      パパぱふぅ
0007:  * @version     1.0  2005/06/14
0008:  *
0009: */
0010: $myself = basename($_SERVER["PHP_SELF"]);
0011: 
0012: // URLによって処理を分岐する
0013: switch ($_GET["do"]) {
0014:     case "send":
0015:         setcookie("DUMMY", TRUE);               // クッキーを送信
0016:         header("Location: $myself?do=check");   // リダイレクト
0017:         break;
0018:     case "check":
0019:         $cookie = $_COOKIE["DUMMY"];            // クッキー取得
0020:         setcookie("DUMMY", "", time() - 3600);      // クッキー消去
0021:         print "<h3>cookieの有効/無効チェック</h3>\n";
0022:         if ($cookie) {
0023:             print "クッキーは有効です。";
0024:         } else {
0025:             print "クッキーは無効です。";
0026:         }
0027:         break;
0028:     default:
0029:         print "<h3>cookieの有効/無効チェック</h3>\n";
0030:         print "<a href=\"$myself?do=send\">クリックしてください。</a>\n";
0031:         break;
0032: }
0033: ?>
0034: 

プログラムを実行する