PHP COOKIE まとめてみた
Cookieとは
Cookieとは、Webサイトにおいて情報をブラウザ上に保存する仕組みのことです。
よく似た機能としてセッションが上げられるのですが、セッションはサーバー上に情報を保存する点で違いがあります。
Cookieは、ファイル形式で保存されます。
保存する仕組みとしてhttpが使われるので、Http Cookieとも呼ばれます。
CookieとHttp
CookieはHttpリクエストとHttpレスポンスを利用して保存されます。
一連の流れは以下のようになります。
①(初回)Httpリクエストを送信
Webサイトの初回訪問時は単にWebサーバーにHttpリクエストを送ります。
↓
②(初回)set-cookieをつけてHttpレスポンスを返答
Httpレスポンス返却時に、Cookieとして保存する情報をset-cookieに添えてブラウザに返却します。
↓
③(2回目以降)ブラウザに保存されているCookieをつけてHttpリクエストを送信
Webサイトの2回目以降の訪問では、ブラウザに保存されているCookieをつけてWebサーバーにHttpリクエストを送信します。
これにより、Webサーバーは以前訪れたユーザーであると認識し、Cookieの情報を利用することができます。
↓
④(2回目以降)Httpレスポンスを返却
WebサーバーからHttpレスポンスが返却され、Webサイトが表示されます。
PHPでCookieを扱う
ここからPHPでCookieを扱う方法を紹介していきます。
※紹介するコードはコード例になります。
Cookieの保存
Cookieの保存をするには以下コードを利用します。
setcookie('username', 'testuser', time() + 60*60*24);
setcookieメソッドを使用します。
第一引数にCookie名、第二引数にデータ本体、第三引数に保存期間を設定できます。
Cookieの参照
Cookieの参照には以下コードを使用します。
echo $_COOKIE['username'];
グローバル変数である$_COOKIE
に保存したCookie名を指定することで保存した情報を参照できます。
Cookieの削除
保存したCookieを削除するには以下コードを使用します。
setcookie('username', 'testuser', time()-1);
Cookieを削除するには、Cookieの保存で利用したsetcookieメソッドを使用します。
setcookieの保存期間が現在の日時よりも前に設定されたCookieは削除されます。
以上!!!!!!!