ホームページ  >  記事  >  バックエンド開発  >  phpで初めてCookieが取得できない問題の対処方法、phpcookie_PHPチュートリアル

phpで初めてCookieが取得できない問題の対処方法、phpcookie_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:11:321136ブラウズ

phpが初めてCookieを取得できない問題、phpcookie

次の簡単なコードを書くことから始めます:

コードをコピーします コードは次のとおりです:

setcookie('a','value');
$_COOKIE['a'];
を印刷します

初めてアクセスするとき、エラーメッセージ:

エラーの理由は、$_COOKIE['a'] の値が存在しないことです。 2 回目の訪問:

Q: 初めてアクセスしたときにクッキーがないのはなぜですか? ?最初に設定してから取得する必要はありませんか? ?

答え: Firefox の Firebug を使用して「ネットワーク」を表示します:

クライアント:

ご覧のとおり、ブラウザ (クライアント) はリクエストをサーバーに送信し、リクエストのヘッダー情報にさまざまなパラメーターを含めて、サーバーにどのような種類のテキスト (Accept) を受け取りたいかを伝えます。形式 (Accept-Encoding)、言語 (Accept-Language) など、もちろん Cookie もサーバー (Cookie) に渡されます。

サーバー側:

ステップ 1: setcookie('a','value')

Cookie はクライアントに設定されるため、setcookie 関数自体はヘッダー情報を通じてブラウザに通知することしかできません。「兄弟、キー a と値 value を使用して Cookie を設定したいのですが。」 ? セットアップを手伝ってください。 「さあ、今日は幸せだからクッキーをあげるね。」とも理解できます。

ステップ 2: $_COOKIE['a']$_COOKIE['a']

操作は非常に簡単で、ブラウザから取得したCookie文字列からキーaを持つCookieを検索し、その値を返すだけです。

明らかに、「キー a」を持つこの Cookie は見つかりません。クライアントがサーバーにアクセスするとき、この Cookie はまったく存在せず、前のステップで設定された Cookie のヘッダー情報がまだクライアントに返されていないためです。 (PHP はクライアントに戻る前にステートメントを上から下まで実行する必要があります)

ステップ 3: サーバーが情報を返す

このうち、返されるヘッダー情報には「Set-Cookie a=value」が含まれており、ブラウザーはこのヘッダー情報を受け取り、コンピューター上のファイルに保存されます。これは、ブラウザーによって保存場所が異なるようです。この記事の範囲を超えています。


ブラウザを更新してサーバーに再度アクセスすると、多くのヘッダー情報もサーバーに送信されますが、今回は Cookie に余分な a=value が含まれています。したがって、$_COOKIE['a'] は、Cookie 文字列からキー a を持つ Cookie の値を自然に見つけることができます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/928232.html技術記事 php が初めて Cookie を取得できないという問題を解決するために、phpcookie は最初に次のような単純なコードを作成します。 次のようにコードをコピーします。訪問..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。