0Pricing
PHP Academy · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. セッションの開始と利用
  2. セキュアなセッションのベストプラクティス
  3. Cookieの設定と読み取り
  4. Cookieのセキュリティ:HttpOnlyとSecureフラグ
← PHP Academyに戻る