#問題の詳細まず、次の簡単なコードを記述します。php が Cookie を取得できない問題に対処する方法: まず、キー a と値 value で Cookie を設定し、次に Cookie 文字列で a の Cookie を検索し、その値を返します。最後に、ブラウザで再度アクセスしてください。 サーバーに関しては、a=value がもう 1 つあります。
<?php setcookie('a','value'); print $_COOKIE['a'];
$_COOKIE の値です。 ['a'] は存在しません。 2 回目の訪問:
value
関連学習の推奨事項:
php ビデオ チュートリアル<a href="https://www.php.cn/course/list/29/type/2.html" target="_blank"></a><br>
質問: 初めてアクセスしたときに Cookie がないのはなぜですか? ?最初に設定してから取得する必要はありませんか? ?
回答: Firefox の firebug を使用して「ネットワーク」を表示します:
クライアント:
ご覧のとおり、ブラウザ(クライアント)はサーバーにリクエストを送信しますが、リクエストを行う際、リクエストヘッダー情報には、どのようなテキストを受け取りたい(Accept)かをサーバーに伝えるためのさまざまなパラメータが含まれています。どのようなエンコード形式 (Accept-Encoding)、どの言語 (Accept-Language) など、もちろん Cookie もサーバー (Cookie) に渡されます。サーバー側:
最初のステップ:setcookie('a','value')
$_COOKIE['a']$_COOKIE['a']
Set-Cookie a=value が含まれています。ブラウザはこのヘッダー情報を受け取り、コンピューター上のファイルに Cookie を保存します。Cookie の保存場所はブラウザーが異なっても同様であるようです。違いますが、これはこの記事の範囲外です。
a=値。したがって、
$_COOKIE['a'] は、Cookie 文字列からキー a を持つ Cookie の値を自然に見つけることができます。
以上がPHP が Cookie を取得できない問題の処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。