△ 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]にメールを送ってください。