コントラクトキラー php cookie スコープ - 現在のページで cookie を使用しないでください

WBOY
リリース: 2016-07-29 08:39:43
オリジナル
1029 人が閲覧しました

ローカル テストではまったく問題がなかったので、リモート サーバー (公開サーバーではなく、公開サーバー上で直接変更しないことをお勧めします) に ssh 接続し、ブレークポイント テストを実施したところ、最終的にこの関数はコンストラクターでログイン検証を呼び出します。認証が通らなかったので飛び降りました。
プログラムによる php cookie の使用を見てみましょう。おそらく、上の段落を読んでも、これと cookie の間には何の関係があるのか​​疑問に思っているのではないでしょうか。
MVC 構造で使用されるログイン検証について一般的に説明します。
コントローラーのコンストラクターには、特にログインを検証する関数があります。この関数は、モジュールがログイン検証を必要とするかどうかに応じて追加されます。
バグ プログラム: setcookie の後、現在のページでログイン検証が行われます。
バグの原因: 現在のページは、このページに設定されたばかりの Cookie を取得できません
プログラムでテストしてみましょう:
ここに Cookie を設定する関数があります。今それを使用しています。私たちは怠け者です

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


function dsetcookie($var, $value, $life = 0) {
global $_cookie_domain, $_cookie_path, $_timestamp, $_SERVER; ), $life ? $_timestamp + $life : 0,
$_cookie_path, $_cookie_domain, $_SERVER['SERVER_PORT'] == 443 ?
}

次に、次の内容の test1.php を作成します。 :

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

$td = date('d');
dsetcookie("testvar",$td,30*24*60*) 60);
print_r($_COOKIE) ;
?>

この $_COOKIE 変数を設定した後、初めて使用できるようになります。
次に、test1.php プログラムを少し変更してみましょう:


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

$td = date('d');
dsetcookie("testvar") ,$ td,30*24*60*60);
print_r($_COOKIE);//これをコメントアウトする必要があります。そうしないと、ヘッダー警告が報告されます
$location = "test2.php"; Location: ".$location ; ;


ここで次を取得します:
Array
(

[testvar] =10
)
ここでこの Cookie 値を取得して使用できます。

なぜですか? これは理解できます。現在設定されている Cookie はすぐには有効になりませんが、次のページまで表示されません。これは、Cookie が設定されたページ上でサーバーからクライアントのブラウザに渡され、その後有効になるためです。サーバーがクライアントのマシンから Cookie を取り出してサーバーに送り返すことができる理由については、次のページで説明します。 最初にここに書いてください:

次のリンクから COOKIE について詳しく学ぶことができます



PHP COOKIE とその使用法



Netscape の Cookie の公式オリジナルの定義 Web サイト:
http://www.netscape.com/ newsref/std/cookie_spec.html


上記では、コントラクトキラー php cookie の範囲について説明しました。コントラクトキラーコンテンツを含め、現在のページでは cookie を使用しないでください。PHP チュートリアルに興味のある友人に役立つことを願っています。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!