PHPでCookieを使用する方法(セット・取得・削除)

今回はPHPでCookieを使用する方法について紹介します。

Cookie(クッキー)とは

Cookieとは、ウェブブラウザに一時的に情報を保持するためのしくみです。

Webブラウザを閉じたり、PCやスマートフォンの電源を落とした後も、前回ログインしたIDやパスワードがフォームに残っていたりするのは、このCookieの働きによるものです。
 

Cookie(クッキー)とSession(セッション)の違いは?

CookieとSessionの違いは以下です。

Cookie Session
保存場所 ウェブブラウザ ウェブブラウザ・ウェブサーバー
保存期間 指定した有効期限 対象サイトアクセス中

 
一般的にログイン機能として使われるセッションはサイトを離れたり、ウェブブラウザを閉じると削除されるため毎回ログインが必要となります。

一方、Cookieは有効期間中は情報が保持されますので、この情報を使えばログイン状態を保持することができるということです。

スマートフォンでログイン時に毎回メールアドレスやパスワードを入力するのは面倒ですからサイトの利用頻度を高めるためには便利ですね。

ただ、Cookie情報を使ったログインはログイン情報変更時にCookie情報もちゃんと更新するようにしないとそれ以降ログインできないといった不具合につながることもあるので要注意です。
 

実装方法

セット方法

setcookie(‘変数名’, 値, 有効期限);

事例

$email = 'info@tadworks.jp';
setcookie('email', $email, time()+3600*24*14);

 

取り出し方法

$_COOKIE[‘変数名’]

 

削除方法

unset($_COOKIE[‘変数名’]);

 

まとめ

Cookieに情報を保存するのはセキュリティ上のリスク(ウェブサーバーからクライアントPC内の情報にアクセスできるということですから)もあるので、使用する際にはプライバシーポリシーにしっかりと明記をした上、適切に利用をするようにしましょう。

ログイン状態を保持する際も、強制的に行うのではなくログイン時にチェックボックスを設けて意思確認を行うことをお勧めします。