PR

PHPでCookie(クッキー)を使用するサンプルプログラム

スポンサーリンク
Cookie(クッキー)とは、WebサイトやWebサーバーにアクセスした人の情報を、ブラウザに一時的に保存するための仕組みです。
具体的には、アクセスした人が行った操作やその情報、サイトの閲覧履歴、利用環境などの情報が保存されます。Cookieが有効化されると、使用中のブラウザで初めてアクセスしたWebサイトに、Webサイト側が指定した訪問ユーザーを識別できる情報が保存されます。
また、Webサイトで入力したIDや閲覧情報も記録されるため、2回目以降の訪問時にはこれらの情報をもとにユーザーにスムーズに情報を提供できるようになります。
PHPでCookie(クッキー)を使用する方法についてサンプルプログラムを用いて解説したいと思います。
スポンサーリンク

Session(セッション)との違いは?

Cookie(クッキー)とSession(セッション)はどこが違うのでしょうか?
一時的にデータを保存するという意味では、Cookie(クッキー)もSession(セッション)も同じですが、Cookie(クッキー)はクライアント側(Webブラウザ)に保存されるのに対して、Session(セッション)はサーバー側のメモリに保存されます。
また、Cookie(クッキー)は有効期限を自分で設定することができますが、Session(セッション)はブラウザを閉じたり、サイトを離れると無効になります。

PHPでCookie(クッキー)を使用する方法

PHPでCookie(クッキー)を保存するサンプルプログラムは次となります。

setcookie('user_name', 'John', time() + 60);
echo $_COOKIE['user_name'];

実行結果:

John

プログラム解説

それでは、プログラムについて解説します。
setcookie(キー, 値, 有効期限)
Cookie(クッキー)にデータを保存する場合は、setcookie 関数を使用します。第一引数はCookie(クッキー)を呼び出す際の識別子(キー)を設定し、第二引数には値、第三引数に有効期限を指定します。有効期限はUNIXタイムスタンプを指定します。
time() + 60
time 関数はUNIXタイムスタンプ形式の現在日時を取得します。それに60を足していますので、有効期限は60秒となります。有効期限を1時間にしたい場合は、「60*60」または「3600」を足します。

UNIXタイムスタンプ(またはUNIX時間、UNIXエポックとも呼ばれます)は、コンピューターシステムの時刻を秒単位で表現する方法です。具体的には、1970年1月1日午前0時0分0秒からの経過秒数を指します。

例えば、UTCで「1970年1月1日午前0時0分1秒」であれば、UNIXタイムスタンプでは「1」と表現されます。同様に、「2020年6月27日午前8時9分10秒」であれば、UNIXタイムスタンプでは「1593245350」になります。

$_COOKIE[‘user_name’]
Cookie(クッキー)からデータを取得する場合は、「$_COOKIE」を使用します。開発環境によっては、スーパーグローバル変数は直接しようしないで下さいといった警告が出る場合がありますが、その場合は次のように記述することで、同じ動作をします。
filter_input(INPUT_COOKIE,  ‘user_name’)

まとめ

PHPでCookie(クッキー)を使用する方法についてサンプルプログラムを用いて解説してきましたが、いかがでしたでしょうか。
クライアント側にデータを使用する方法はCookie(クッキー)の他にlocalStorage(ローカルストレージ)といったものもあります。Cookie(クッキー)は保存できる容量が非常に小さいので、比較的大きなデータを保存したい場合はローカルストレージを使用します。
データを保存する方法についてはCookie(クッキー)、Session(セッション)、localStorage(ローカルストレージ)を用途によってうまく使い分けてください。
php
スポンサーリンク
シェアする
-をフォローする
プログラミングのメモ

コメント