PHPでCookieを読み取る方法

PHPz
PHPzオリジナル
2016-06-13 11:59:305942ブラウズ

PHP で Cookie を読み取る方法: スーパー グローバル変数 $_COOKIE を通じて Cookie の値を読み取ることができます。 php5以降は、クライアントから送信されたCookie情報が$_COOOKIEグローバル配列に自動的に保存されるようになりました。

PHPでCookieを読み取る方法

php が Cookie を読み取ります

Cookie が正常に設定されると、クライアントはユーザーを保存するための Cookie ファイルを保持します。 Webサーバーによって一定期間設定された情報。クライアントで Windows システムを使用してサーバー内のスクリプトを参照すると仮定すると、Cookie ファイルは「C:Documents and Settings ユーザー名 Cookies」フォルダーに保存されます。

Cookie は通常のテキストファイルとして情報を記録しますが、テキストエディタなどで直接開いて閲覧することは可能ですが、Cookie ファイル内の情報を直接読み取っても意味がありません。その代わりに、顧客が再度 Web サイトを訪問すると、ブラウザは Web サイトに対応するすべての Cookie 情報を自動的にサーバーに送信します。

PHP5 以降では、クライアントから送信された Cookie 情報はすべて $_COOKIE グローバル配列に自動的に保存されるため、各 PHP スクリプトでこの配列から対応する情報を読み取ることができます。

$_COOKIE グローバル配列には、Cookie 識別名をインデックス値として、コンテンツ値を要素として、HTTP 経由で渡されたすべての Cookie データ コンテンツが格納されます。

Cookie は に設定されている必要があるため、Cookie の値を確認するには、Cookie 設定スクリプトでその情報を初めて読み取っても有効になりません。顧客が最初に終了すると、再度アクセスされたときに送信され、その後取得できるようになります。したがって、Cookie が正常に設定されたかどうかをテストするには、有効期限が切れる前に別のページからその値にアクセスできます。

PHP では、スーパー グローバル変数配列 $_COOKIE[] を通じてブラウザ側で Cookie の値を直接読み取ることができます。

コード例は次のとおりです。

<?php
  date_default_timezone_set(&#39;PRC&#39;);       //设置时区
 if(!isset($_COOKIE[&#39;time&#39;])){                //检测 Cookie 文件是否存在
    setcookie(&#39;time&#39;,date(&#39;y-m-d H:i:s&#39;));    //设置一个 Cookie 变量
    echo "第一次访问";
 }else{
    setcookie(&#39;time&#39;,date(&#39;y-m-d H:i:s&#39;),time()+60);   //设置保存  Cookie 失效的时间的变量
    echo "上次访问的时间为:".$_COOKIE[&#39;time&#39;];        //输出上次访问网站的时间
    echo &#39;<br>&#39;;
 }
    echo "本次访问的时间为:".date(&#39;y-m-d H:i:s&#39;);     //输出当前的访问时间
?>

上記のコードでは、まず isset() 関数を使用して Cookie ファイルが存在するかどうかを検出します。存在しない場合は、setcookie() 関数を使用して Cookie を作成し、対応する文字列を出力します。Cookie ファイルが存在する場合は、setcookie() 関数を使用してファイルの有効期限を設定し、ユーザーが最後にアクセスした時刻を出力します。 Web サイト、そして最後にページには、この場所の Web サイトの現在時刻が出力されます。

初めてインスタンスを実行するときは、Cookie ファイルが検出されないため、実行結果の図は次のようになります。

PHPでCookieを読み取る方法

ユーザーが設定した場合Cookie の有効期限 (上記のインスタンスは 60 秒) を更新するか、Web ページに再度アクセスするまでの実行結果は次のとおりです:

PHPでCookieを読み取る方法

注: Cookie の有効期限が切れている場合は、設定されていない場合は、ブラウザが自動的に閉じられます。Cookie データは削除されます。 Cookieに有効期限を設定しておくと、有効期限が切れていない限り、コンピュータを再起動してもブラウザはCookieのデータを記憶し、再度Webサイトにアクセスしたときにアクセスデータ情報を取得します。

関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。 !

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