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

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

(2022年5月15日)大幅改訂,PHP8対応

サンプル・プログラムの実行例

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

サンプル・プログラム

圧縮ファイルの内容
iscookie.phpサンプル・プログラム本体

サンプル・プログラムの解説

ユーザー関数 iscookie は、関数  setcookie  を使って Cookie を送り、それを変数 $_COOKIE で受け取ることができるかどうかによって、 Cookie の有効/無効を判断している。

 114: /**
 115:  * Cookieの有効/無効チェック
 116:  * @param   なし
 117:  * @return  bool TRUE:Cookie有効/FALSE:無効
 118: */
 119: function isCookie() {
 120:     $res = FALSE;
 121:     $myself = basename($_SERVER['SCRIPT_NAME']);
 122: 
 123:     if (! isset($_GET['do'])) {
 124:         setcookie(COOKIE_NAME, TRUE);
 125:         header('Location: ' . $myself . '?do=check');   // Cookie送信
 126:     } else if (isset($_COOKIE[COOKIE_NAME])) {
 127:         $cookie = $_COOKIE[COOKIE_NAME];                // Cookie取得
 128:         $res = $cookie ? TRUE : FALSE;
 129:         setcookie(COOKIE_NAME, '', time() - 3600);      // Cookie消去
 130:     }
 131:     return $res;
 132: }

参考サイト

(この項おわり)
header