本記事では、PHPでCookieの追加・取得・更新する方法について解説しています。
- PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
- PHPによるWebアプリ開発の基礎・基本テクニックを学べる
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
変数名/関数名にもう悩まない!
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
Cookie情報を確認
以降の解説では、サンプルコードを用いて追加・取得・更新されたCookie情報を確認します。Cookie情報を確認する方法が分からない方は、下記の手順をご参考ください。
- ブラウザで右クリック→検証クリックで検証ツールを開く
- アプリケーションタブを開く
- Cookieを選択し、該当のURLをクリック
Cookieを追加
Cookieを新規追加する方法は以下のとおりです。
<?php
setcookie('$name', $value);
?>
setcookieの第一引数($name)にCookieの名前を設定し、第二引数($value)に値を設定します。
実際に下記のコードを実行させ、Cookieを新規追加してみましょう。
<?php
setcookie('COUNT', 1);
?>
Cookie情報を確認すると、名前に「COUNT」値に「1」がセットされているCookieが見つかりました。
Cookieの値を取得
Cookieの値を取得する方法は以下のとおりです。
<?php
$_COOKIE['key']
?>
Cookieの値を取得するには、$_COOKIE[‘key’]を使用します。情報は連想配列でセットされているため、key情報にはCookieに登録した名前を使用します。
実際に下記のコードを実行させ、Cookieの値を取得してみましょう。
<?php
setcookie('COUNT', 1);
print_r("Cookieにセットされた値は${_COOKIE['COUNT']}です。");
?>
Cookieにセットされている値の「1」が取得できていることが確認出来ました。
Cookieの値を更新
Cookieの値を更新する方法は以下のとおりです。
<?php
setcookie('$name', $value);
?>
Cookieの新規追加と同様にsetcookieを使用します。
実際に下記のコードを実行させ、Cookieの値を更新してみましょう。
<?php
setcookie('COUNT', 1);
setcookie('COUNT', 10);
?>
値が初期設定の1ではなく、後に更新した10に変更されていることが確認出来ました。
NGな更新方法
Cookieの値がセットされている連想配列に直接更新をするのはNGです。連想配列の値は更新されてもCookieには反映がされません。
<?php
$_COOKIE['key'] = $value;
?>