本記事では、PHPでCookieの有効パスを変更する方法について解説しています。
PHPの学習におすすめ書籍
独習PHP 第4版

メリット
- PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
- PHPによるWebアプリ開発の基礎・基本テクニックを学べる


Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!



初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード


メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)


目次
Cookieの有効パスを変更
Cookieの有効パスを変更するには、Cookie情報に登録されているPathを変更する必要があります。Pathを変更する方法は以下のとおりです。
<?php
setcookie('name', value, [
'path' => '有効範囲',
]);
?>
第三引数に連想配列を設定し、keyに「path」を指定し値にはCookieを有効にしたい範囲のpathをセットします。
実際にpathを設定したらどのようにCookie情報が変更されるのか確認してみましょう。まずはpathの値を何もセットしていない状態のCookie情報を確認します。
<?php
setcookie('COUNT', 1);
?>


今回phpを実行しているファイルはtestディレクトリに置かれているため、セットされているpathは「/test」となります。
これにpath => ‘/’をセットしたCookie情報を確認してみましょう。
<?php
setcookie('COUNT', 1, [
'path' => '/',
]);
?>


すると、セットされているpathが「/」になりページ全体で有効なCookieになります。