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は削除されます。

 

以上!!!!!!!