カテゴリ: PHP 更新日: 2026/02/11

PHPのCookieをJavaScriptで操作する方法!初心者にもわかるdocument.cookieの使い方

PHP の Cookie を JavaScript で操作する方法(document.cookie)
PHP の Cookie を JavaScript で操作する方法(document.cookie)

先生と生徒の会話形式で理解しよう

生徒

「PHPで作ったクッキーを、JavaScriptから読み取ったり書き換えたりすることってできますか?」

先生

「はい、できますよ。JavaScriptにはdocument.cookieという機能があって、PHPで作成したCookie(クッキー)にもアクセスできます。」

生徒

「JavaScriptって、Webページの見た目を変えるやつですよね?そんなこともできるんですか?」

先生

「はい、JavaScriptはWebページの見た目だけじゃなく、クッキーのような“データの保存場所”にもアクセスして、読み取ったり書き換えたりできるんですよ。これから実際に、PHPのCookieをJavaScriptで操作する基本をやさしく解説していきましょう!」

-

1. Cookie(クッキー)とは?初心者でもわかる意味と使い方

1. Cookie(クッキー)とは?初心者でもわかる意味と使い方
1. Cookie(クッキー)とは?初心者でもわかる意味と使い方

Cookie(クッキー)は、インターネットのWebサイトで「ちょっとしたメモ」のように使える仕組みです。例えば、Webサイトで「ログイン状態を保持」したり、「前回入力した名前を覚えておく」などに使われます。

クッキーは、Webブラウザの中に小さなデータとして保存され、Webサーバー(PHPなど)とJavaScriptの両方から操作できます。

2. PHPでCookieを作成する方法

2. PHPでCookieを作成する方法
2. PHPでCookieを作成する方法

まず、PHPでクッキーを作るには、setcookieという関数を使います。例えば次のように書くと、ユーザー名を「Taro」として保存できます。


setcookie("username", "Taro", time() + 3600); // 1時間有効

このコードでは、「username」という名前で「Taro」という値を、1時間(3600秒)保存するようにしています。設定したクッキーは、ブラウザに保存されます。

3. JavaScriptでCookieを読み取るには?

3. JavaScriptでCookieを読み取るには?
3. JavaScriptでCookieを読み取るには?

PHPで作ったクッキーは、JavaScriptでも読み取れます。そのとき使うのがdocument.cookieです。

例えば次のように書くと、すべてのクッキーが文字列として見られます。


console.log(document.cookie);

結果は次のような形になります:


username=Taro

このように、document.cookieでブラウザに保存されている全てのクッキーを「名前=値」の形で確認できます。

4. JavaScriptで特定のCookieを取得する方法

4. JavaScriptで特定のCookieを取得する方法
4. JavaScriptで特定のCookieを取得する方法

document.cookieはすべてのクッキーを1つの文字列として返すため、「username」など特定のクッキーを取り出すには少し工夫が必要です。次のように分割して探すのが基本です。


function getCookie(name) {
    const cookies = document.cookie.split(';');
    for (let i = 0; i < cookies.length; i++) {
        const c = cookies[i].trim();
        if (c.startsWith(name + "=")) {
            return c.substring(name.length + 1);
        }
    }
    return "";
}

const username = getCookie("username");
console.log(username); // Taro

この関数は「username」という名前のクッキーがあればその値を返します。

-

5. JavaScriptでCookieを書き換える・保存する方法

5. JavaScriptでCookieを書き換える・保存する方法
5. JavaScriptでCookieを書き換える・保存する方法

JavaScriptでもクッキーを書き換えることができます。方法は、document.cookie = "名前=値; オプション"という形で文字列を代入するだけです。


document.cookie = "username=Hanako; max-age=3600"; // 1時間保存

このコードでは「username」というクッキーの値を「Hanako」に書き換えています。max-ageは「何秒間保存するか」を意味します。

6. クッキーを使うときの注意点とセキュリティ

6. クッキーを使うときの注意点とセキュリティ
6. クッキーを使うときの注意点とセキュリティ

クッキーは便利ですが、使い方を間違えるとセキュリティ上のリスクもあります。例えば、パスワードや個人情報など「大事なデータ」は絶対にクッキーに保存しないようにしましょう。

また、JavaScriptからアクセスできないようにする「HttpOnly」や、安全な通信でしか送らない「Secure」などの設定もPHP側で必要に応じて使うべきです。

7. 実用例:前回入力した名前をクッキーで保存して表示する

7. 実用例:前回入力した名前をクッキーで保存して表示する
7. 実用例:前回入力した名前をクッキーで保存して表示する

よくある使い方の一例として、ユーザーがフォームに入力した名前をクッキーに保存して、次回アクセス時に表示する方法を紹介します。


<input type="text" id="nameInput" placeholder="名前を入力">
<button onclick="saveName()">保存</button>
<p id="greeting"></p>

<script>
function saveName() {
    const name = document.getElementById("nameInput").value;
    document.cookie = "username=" + encodeURIComponent(name) + "; max-age=86400";
    alert("名前を保存しました!");
}

function showGreeting() {
    const name = getCookie("username");
    if (name) {
        document.getElementById("greeting").innerText = name + "さん、ようこそ!";
    }
}

function getCookie(name) {
    const cookies = document.cookie.split(';');
    for (let i = 0; i < cookies.length; i++) {
        const c = cookies[i].trim();
        if (c.startsWith(name + "=")) {
            return decodeURIComponent(c.substring(name.length + 1));
        }
    }
    return "";
}

showGreeting();
</script>

このサンプルでは、名前を入力するとJavaScriptでクッキーに保存され、次にページを開いたときに「〇〇さん、ようこそ!」と表示されます。

8. なぜPHPとJavaScriptの両方でCookieを扱うの?

8. なぜPHPとJavaScriptの両方でCookieを扱うの?
8. なぜPHPとJavaScriptの両方でCookieを扱うの?

PHPとJavaScriptの両方でクッキーを操作できることで、次のようなことが可能になります:

  • PHPで初期設定した値をJavaScriptで読み取る
  • JavaScriptでユーザーの操作に応じてデータを保存
  • PHPが受け取ったクッキーの内容で画面の表示を変える

このように、サーバー側(PHP)とクライアント側(JavaScript)がクッキーを通じて連携することで、Webサイトはより便利で使いやすくなります。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieをJavaScriptで操作する方法!初心者にもわかるdocument.cookieの使い方
New2
PHP
PHPの真偽値と条件判定をやさしく解説!初心者でもわかるempty・isset・is_nullの使い方
New3
PHP
PHPのreturnの使い方を解説!初心者でもわかる関数の終わらせ方と戻り値
New4
PHP
PHPで曜日や祝日を判定する方法!初心者でもわかる日付処理の基本ガイド
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.3
Java&Spring記事人気No3
PHP
PHP のデータ型を完全ガイド!初心者でもわかる int, string, float, bool など
No.4
Java&Spring記事人気No4
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
No.5
Java&Spring記事人気No5
PHP
PHPのswitch文を使った条件処理の書き方を完全ガイド!初心者でもわかる使い方
No.6
Java&Spring記事人気No6
Python
Pythonで曜日を取得する方法を完全解説!初心者でもわかるweekday()とisoweekday()
No.7
Java&Spring記事人気No7
PHP
PHP の可変変数と変数の参照渡しを完全解説!初心者でも理解できる動的変数の使い方
No.8
Java&Spring記事人気No8
PHP
PHPのCookieのSecure, HttpOnly, SameSite設定を初心者向けに解説
-
-