PHP バグ? セッション 変数 値段を 一般 変数が 覆って 使う 問題 – 多分 register_globals だからである よう

△ PHP, 緩くて 学ぶこと 易しいが あれほど 自分勝手に 作動する 場合も たびたび ある の ようだ.
今日 あっけない 現象を 見つけた. 環境は PHP 5.2.8 引き継いだし, register_globals = On 引き継いだ.
register_globals = Offイン 場合には こういう 問題が 発生するの ない ようだ.
今日 使用者 情報を セッションに 保存してから 終わり ページに 行って 振り撤いてくれる ページを 具現して あった.
session_start(); echo '<pre>'; $_SESSION['foo'] = 'セッション プ'; $foo = 'そのまま プ'; echo "セッション 青い 取って 見よう : ".$_SESSION['foo']; echo "n"; echo "そのまま 青い 取って 見よう : ".$foo; echo "n"; echo '</pre>';
上 例題を 見れば まどろみ コンパニオン なる のだと 見る.
どうな 結果が 出る ことと 予想するか? 当然 下と ような 結果が 論理的だ.</p>
セッション 青い 取って 見よう : セッション プ そのまま 青い 取って 見よう : そのまま プ
セッションに 初め 変数を 割り当てした 時の 画面は 上と 一緒に 正常に 出る.
ところが F5を 押したら? 下と 一緒に 出る.
セッション 青い 取って 見よう : そのまま プ そのまま 青い 取って 見よう : そのまま プ
すなわち, そのまま 変数の 内容が セッション 変数を 覆って 使いつくす のだった.
完全 荒唐 彼 自体だった.
これを 悟るの できなかった だから, 私は 代替 どこで 情報が 遺失された ことなの しながら しばらくを 捜すと した.
蟹に 私の ローカル テスト 環境は register_globals = Offであった だから, ローカルで あらゆる テストを 終えて サーバーに ファイルを あげてから 狼狽を 見ると した.
これは いったい 何 問題 だからなのか 説明 可能な 分 ないか 知りたい.
ヨトンガンに register_globals = On イン 場合 SESSION 変数を 使う 時 気を付けよう. SESSION 変数と 名前が ような 変数人を 使えば SESSION 情報が 飛んで 捨てる 首都 ある. はなはだしくは 環境に したがって 選択的に 言葉だ.
- コメント機能はありません。コメントの代わりに[email protected]にメールを送ってください。