ホームページ  >  記事  >  バックエンド開発  >  PHP で Cookie を作成、読み取り、削除するにはどうすればよいですか?

PHP で Cookie を作成、読み取り、削除するにはどうすればよいですか?

WBOY
WBOYオリジナル
2021-10-26 10:32:224857ブラウズ

前回の記事では、PHPでよく使われるマジックメソッドを詳しく紹介した「5分でわかるPHPのマジックメソッド(具体例)」をご紹介しました。この記事では、PHP の Cookie に関する関連知識を紹介します。

PHP で Cookie を作成、読み取り、削除するにはどうすればよいですか?

私たちの日常生活では、Web サイトにログインすると、中断されたときに最後にログインしたときの情報が残り、また、あなたが Web サイトにログインしていることがわかります。ショッピング カート内のさまざまなページ。表示される商品は、コンテンツをユーザーに便利にプッシュするために、Web サイトがユーザーを識別するために使用する手段です。このような複雑な機能を実装したい場合は Cookie を使用する必要があるので、Cookie とは何かを見てみましょう。その用途と作成、読み取り、削除の方法は何ですか。

Cookie

とは Cookie を使用して多くの機能を実現できますが、Cookie とは何ですか? Cookie は、サーバーからブラウザに HTTP プロトコルで渡される少量のデータをユーザーのブラウザに保存する方法です。たとえば、一部のユーザー情報を保存できるため、ブラウザが閉じられたり、接続が中断されたりした場合でも、ユーザーは引き続きこのデータを維持できます。

また、Cookie はブラウザの Web ページの特定の情報をクライアントのハード ドライブ上のファイルの形式で保存し、この Web サイトに再度アクセスすると、ブラウザは最初に Cookie ファイルを読み取ります。 、読み取られたデータがブラウザに提供されます。このようにして、ユーザーの Web ページにいくつかの個人設定が設定され、再度開いたときに保存されます。これは、Cookie を介して表示される方法です。

<strong><span style="font-size: 20px;">Cookie</span></strong>の主な用途

の用途Cookieにはさまざまな情報が含まれており、サーバーはCookieに含まれる情報の任意性を利用して情報をフィルタリングし、情報を保持することができ、HTTP通信の状況を把握することを目的としています。 Cookie の最も代表的な用途は、登録ユーザーが Web サイトにログインしたかどうかを判断することなど、私たちの日常生活でも非常に一般的であり、モールのショッピング カートに似た機能があります。

Cookie は次の 3 つの側面で一般的に使用されることを要約します:

  • ユーザーの情報を記録する; 前述のユーザーのパーソナライゼーション設定と同様。

  • ページ間でデータを転送します。つまり、あるページのデータを別のページで使用する場合です。

  • 表示された Web ページを一時 Cookie ファイルに保存して、Web ページへのアクセスを高速化します。

注意する必要があるのは、データ セットや大きなデータを保存するために Cookie を使用することは一般に推奨されないということです。同時に、すべてのブラウザが Cookie をサポートしているわけではなく、データ情報もテキスト形式で保存されるため、Web サイトのセキュリティに影響を与えないように、暗号化されていない機密データは保存しないことが最善です。

Cookie の作成

PHP で Cookie を作成する場合は、setcookie() 関数が必要です。注意する必要があるのは、Cookie は HTTP 応答ヘッダーの一部であり、応答ヘッダーを最初に出力する必要があるということです。 setcookie()関数の前にHTMLや空行、エコーなどが出力されるとプログラムエラーとなる可能性があります。

setcookie()関数の構文形式は次のとおりです:

setcookie(string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]])

注意する必要があるのは次のとおりです:

  • $name---Cookie の名前を示します。

  • $value--- はオプションです。値

  • $expire--- は、Cookie の有効期限を設定するために使用されるオプションのパラメータです。この時刻は Unix タイムスタンプの形式です。一時的な Cookie と永続的な Cookie があります。一時的な Cookie はブラウザ上に一定期間存在します。指定された時間が経過すると、Cookie はシステムによって消去されます。

  • $path---Cookie の有効なサーバー パスを設定するために使用されるオプションのパラメーター。

  • $domain---Cookie の有効なドメイン名/サブドメイン名を設定するために使用されるオプションのパラメータ。

  • $secure---オプションのパラメータ。この Cookie が安全な HTTPS 接続を通じてのみクライアントに渡されるかどうかを設定するために使用されます。

例を通じて Cookie の作成を見てみましょう:

<?php
    setcookie(&#39;Website&#39;, &#39;好好学习&#39;);
    setcookie(&#39;Title&#39;, &#39;Cookie&#39;, time()+3600);  // 设置 Cookie 1 小时后过期
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
?>

出力結果:

PHP で Cookie を作成、読み取り、削除するにはどうすればよいですか?

In 実行時に注意する必要があるのは、このスクリプト ファイルを初めて実行するときは出力情報がないため、Cookie を設定した後、HTTP ヘッダーが表示されるようにページを更新する必要があることです。最後の設定を次のリクエストに引き継ぐ Cookie 情報を使用すると、Cookie を読み取ることができます。

Cookie を読む

在PHP中,想要读取cookie就需要使用超级全局变量$_COOKIE$_COOKIE是一个储存着所有信息的数组,它的语法格式如下:

$_COOKIE[&#39;Cookie 名称&#39;]

实例如下:

<?php
    setcookie(&#39;Website&#39;, &#39;好好学习&#39;);
    setcookie(&#39;Title&#39;, &#39;Cookie&#39;, time()+3600);  // 设置 Cookie 1 小时后过期
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
    echo &#39;Website 的值为:&#39;.$_COOKIE[&#39;Website&#39;].&#39;<br>&#39;;
    echo &#39;Title 的值为:&#39;.$_COOKIE[&#39;Title&#39;];
?>

输出结果:

PHP で Cookie を作成、読み取り、削除するにはどうすればよいですか?

由此我们边通过$_COOKIE 读取到了cookie的值。

删除cookie

我们在上文中说,可以给临时的cookie设置一个时间,当时间过了之后,系统会自动删除这个cookie,那能不能够当 Cookie 被创建后,没有设置它的失效时间,其 Cookie 文件会在关闭浏览器时被自动删除。如果要在关闭浏览器之前删除 Cookie 文件,同样需要使用 setcookie() 函数。

删除 Cookie 和创建 Cookie 的方式基本类似,只需要使用 setcookie() 函数将 Cookie 的值(也就是第二个参数)设置为空,或者将 Cookie 的过期时间(也就是第三个参数)设置为小于系统的当前时间即可。

实例如下:

<?php
    setcookie(&#39;Website&#39;,&#39;&#39;);
    setcookie(&#39;Title&#39;,&#39;Cookie&#39;,time()-1);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
?>

输出结果:

PHP で Cookie を作成、読み取り、削除するにはどうすればよいですか?

如此我们便完成了删除cookie的值。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上がPHP で Cookie を作成、読み取り、削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。