ホームページ > バックエンド開発 > PHPの問題 > Ajax と PHP 経由で Cookie を設定する方法

Ajax と PHP 経由で Cookie を設定する方法

PHPz
リリース: 2023-04-25 15:17:36
オリジナル
1115 人が閲覧しました

Web サイト開発では、ユーザーのログイン ステータス、個人設定、その他の情報を保存するために Cookie を使用する必要がある場合がありますが、Ajax と PHP はフロントエンドおよびバックエンド開発で一般的に使用されるテクノロジです。この記事では、その設定方法を紹介します。 Ajax と PHP Cookie を介して。

1. Cookie とは

Cookie は、Web サイト サーバーによってクライアント コンピュータに保存される小さなテキスト ファイルで、Web サイト上のセッション情報、個人設定、その他のデータを保存できます。ユーザーが同じWebサイト上の複数のページを訪問すると、WebサイトはCookieを読み取ることで、ユーザーの過去の操作記録や個人設定を取得できます。

2. Cookie の設定と取得

Cookie を設定するには、PHP で setcookie() 関数を使用できます。この関数には、少なくとも 3 つのパラメーター: Cookie 名、Cookie 値、および Cookie を渡す必要があります。クッキーの有効期限。次に、Cookie の設定例を示します。

setcookie('username', 'abc', time()+3600);   // 设置一个名称为“username”,值为“abc”,过期时间为1小时后的Cookie
ログイン後にコピー

Cookie を取得するには、PHP で $_COOKIE グローバル変数を使用できます。この変数には、現在の HTTP リクエストによって送信されるすべての Cookie 情報が含まれています。 Cookie を取得する例を次に示します:

echo $_COOKIE['username'];   // 输出Cookie“username”的值
ログイン後にコピー

3. Ajax を使用した Cookie の設定

Ajax を使用してフロントエンド ページに Cookie を設定すると、ページを更新せずにデータを Cookie に保存できます。以下は、jQuery を使用してクライアントに Cookie を設定する例です。

$.ajax({
    type: "POST",
    url: "set_cookie.php",    // 后台处理设置Cookie的PHP文件
    data: {username: "abc"},  // 要保存到Cookie中的数据
    success: function() {     // 成功回调函数
        alert("设置Cookie成功!");
    }
});
ログイン後にコピー

バックグラウンド PHP ファイル set_cookie.php では、$_POST を通じて Ajax を通じてクライアントによって送信されたデータを取得し、setcookie( ) 関数 Cookie を設定するには:

if(isset($_POST['username'])) {
    setcookie('username', $_POST['username'], time()+3600);
}
ログイン後にコピー

上の例では、Ajax を介してデータ「abc」をバックグラウンドの set_cookie.php ファイルに渡し、それを PHP の Cookie に保存し、成功プロンプトを返しました。このようにして、ページを更新せずに Cookie を設定できます。

4. Ajax を介した Cookie の取得

Ajax を介してクライアント側の Cookie からデータを取得することもできますが、これはユーザーのログインとアクセスが必要な一部のページでより一般的です。以下は、jQuery を使用してクライアント上で Cookie を取得する例です。

$.ajax({
    type: "GET",
    url: "get_cookie.php",    // 后台处理获取Cookie的PHP文件
    success: function(data) { // 成功回调函数
        alert("Cookie值为:" + data);
    }
});
ログイン後にコピー

バックグラウンド PHP ファイル get_cookie.php では、$_COOKIE を通じてクライアントによって保持される Cookie を取得し、クライアントに返すことができます。

if(isset($_COOKIE['username'])) {
    echo $_COOKIE['username'];
}
ログイン後にコピー

上の例では、Ajax を介してバックグラウンドで get_cookie.php ファイルに GET リクエストを送信し、Cookie "username" の値を取得し、その出力を成功コールバック関数で表示します。

5. 注意事項

Ajax を使用して Cookie を設定または読み取る場合は、Cookie のドメイン名とパスが正しいことを確認してください。そうでないと、Cookie が読み取れない可能性があります。またはセットします。さらに、各リクエストに Cookie を含めると応答データのサイズが増加し、サーバーの負荷が増大する可能性があるため、Cookie を処理する際にはセキュリティとパフォーマンスのニーズを比較検討する必要があります。

概要:

この記事の導入部を通じて、Ajax と PHP を介して Cookie を設定および取得する方法を学びました。 Ajax を使用すると、ページを更新せずに Cookie を設定および読み取ることができるため、ユーザーのエクスペリエンスが向上します。この記事が皆さんのお役に立てば幸いです!

以上がAjax と PHP 経由で Cookie を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート