Cookieの設定と読み取り
setcookieでCookieを作成し、_COOKIEから読み取ります
「Cookieの設定と読み取り」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全4レッスンが含まれています。
Cookieとは何ですか
Cookieは、ブラウザーに保存される小さなデータです。サーバーはSet-Cookieヘッダーを使用してCookieを送信し、ブラウザーは以降の各リクエストでCookieを送り返します。
setcookie()
setcookie()は、出力を行う前に呼び出す必要があります。レスポンスにSet-Cookieヘッダーを追加します。
<?php
setcookie("username", "alice", time() + 3600);setcookie()のパラメーター
完全なシグネチャは、setcookie(name, value, expires, path, domain, secure, httponly)です。
<?php
setcookie(
"prefs",
"dark-mode",
time() + 86400,
"/",
"",
true,
true
);Cookieの読み取り
次のリクエストで$_COOKIEからCookieにアクセスします。現在のリクエストで設定したCookieは、まだ$_COOKIEには含まれません。
<?php
if (isset($_COOKIE["username"])) {
echo "Hello, ".$_COOKIE["username"];
}Cookieの削除
過去の有効期限を指定してCookieを設定します。ブラウザーがCookieを削除します。
<?php
setcookie("username", "", time() - 3600, "/");Cookieの有効期限
$expiresにはUnixタイムスタンプを渡します。time() + secondsを使用します。ブラウザーを閉じたときに期限切れになるセッションCookieには0を渡します。
Cookieのパスとドメイン
$pathは、Cookieを参照できるURLパスを制限します。/はすべてのパスを意味します。$domainを使用すると、.example.comのようにサブドメイン間で共有できます。
Cookieサイズの上限
ブラウザーでは、各Cookieのサイズが約4 KBに制限されています。より大きなデータはサーバー側に保存し、Cookieには参照IDだけを格納します。
Cookie配列
PHPでは、名前に角括弧記法を使用して、配列形式のCookieを扱えます。
<?php
setcookie("filters[color]", "blue");
setcookie("filters[size]", "XL");
// Read: $_COOKIE["filters"]["color"]DevToolsでCookieを確認する
DevTools → Application → Cookiesを開くと、すべてのCookieを確認できます。ここでSecure、HttpOnly、SameSiteの各フラグを確認します。
Cookieとセッションの違い
Cookie:クライアント側、サイズ制限あり、JSからアクセス可能(HttpOnlyの場合を除く)、永続的です。セッション:サーバー側、サイズ制限なし、より安全です。
まとめ
出力前にsetcookie()を使用します。次のリクエストで$_COOKIEから読み取ります。有効期限、パス、ドメイン、Secure、HttpOnlyを適切に設定します。
クイックチェック
setcookie()で設定したCookieは、いつ$_COOKIEで利用できるようになりますか?
よくある質問
「Cookieの設定と読み取り」レッスンは無料ですか?
はい。「Cookieの設定と読み取り」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全4レッスンが含まれています。
「Cookieの設定と読み取り」で何を学びますか?
setcookieでCookieを作成し、_COOKIEから読み取ります ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
PHP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Cookieの設定と読み取り」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPHP Academyレッスンでコードを書いて実行できますか?
はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。