今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 簡単なPHPスクリプトを動かしてみよう
  3. ファイルから1行ずつ読み込む - fgets()
  4. ユニークなファイル名の一時ファイルを作成 - tempnam()
  5. ヒアドキュメント

クッキーの有効期限を設定

当ページのリンクには広告が含まれています。

ここでは、PHPスクリプトでクッキーの有効期限を設定する方法を紹介します。

クッキーの有効期限を設定

クッキーの有効期限には「1970年1月1日 00:00:00 GMT」からの経過秒である「Unixエポック」を使います。

クッキーの有効期限は関数 setcookie() を使って、以下のように設定します。

setcookie(クッキー名, クッキーの値, 有効期限)

クッキーの有効期限を「1分」「1時間」「1日」に設定する場合は以下のように設定します。

有効期限 1分(60秒)

setcookie(クッキー名, クッキーの値, time()+60)

有効期限 1時間(3600秒=60*60)

setcookie(クッキー名, クッキーの値, time()+60*60)

有効期限 1日(24時間=24*60*60)

setcookie(クッキー名, クッキーの値, time()+24*60*60)

それではサンプルスクリプトをみてみましょう。

サンプルスクリプト

クッキー名「cinfo」、クッキーの値「現在時刻」、クッキーの有効期限「60秒」に設定するサンプルスクリプトです。

<?php
setcookie("cinfo", (string)time(), time()+60);
?>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<body>
<p>クッキーの有効期限は「60秒」です。</p>
<p>60秒以内に訪問したことがある場合は以下に訪問日時が表示されます。</p>
<?php
if( isset($_COOKIE["cinfo"]) ){
  echo "あなたが以前訪問した時刻は「"
    . date("Y年m月d日 H時i分s秒", (int)$_COOKIE["cinfo"])
    . "」ですね\n";
}
?>
</body>
</html>

それではサンプルスクリプトにアクセスしてみましょう。

クッキー有効期限のサンプル

set-cookie-expire-01
サンプルにアクセスするとこのようなページが表示されます。このときにクッキーがセットされます。

set-cookie-expire-02
60秒以内にページを更新、あるいは2回目以降の訪問だと…このようにクッキーの値である「訪問日時」が表示されます。

60秒経過した後、もう一度サンプルにアクセスすると……。

set-cookie-expire-03
クッキーが削除されるので、初回訪問時のページが表示されます。

クッキー の人気記事

  1. PHPスクリプト - 基本的な記述方法 - 書き方の基本
  2. require、require_once - ファイルの取り込み
  3. HTML内でPHPスクリプトを実行 - 埋め込み
  4. 連想配列
  5. 簡単なPHPスクリプトを動かしてみよう
  6. 配列 - array
  7. ファイルの読み込み
  8. クッキーを削除する方法

関連記事(一部広告含む)