1

とても紛らわしい問題について本当に疑問に思っています。値として URL を持つセッションがあります。

$_SESSION['url'] => 'http://www.domain.com/path/';

path/は書き換えられており、実際のディレクトリではありません。セッションは に設定されてpage1.phpおり、 へのリンクがありpage2.phpます。リンクをクリックして に移動すると、それがロードされたpage2.php後に非常に速く実行すると、正しい値が得られます。page1.php$_SESSION['url']

しかし、10 秒間留まってからリンクをクリックして に移動するとpage2.php、または 10 秒間留まってから更新すると、セッション値が自動的に に変更されます404.shtml

つまり、その値は に変更されhttp://www.domain.com/404.shtmlます。これは、値が URL であり、他の値が正しい場合にのみ発生することに注意してください。

ここで何が起こっているのか本当に混乱していますか?この状況を経験した人はいますか?


page1.phpを編集

session_start();
$_SESSION['url'] => 'http://www.domain.com/path/';

page2.php

session_start();
echo $_SESSION['url']; // Output is 'http://www.domain.com/404.shtml'
4

1 に答える 1

0

やるべきことのチェックリスト:

  1. $_SESSION['url'] 変数にアクセスするライブラリ/インクルードはありますか? それらを無効化/除外します。
  2. セッションで他の変数が変更されますか?
  3. 変数の名前を $_SESSION['url'] から $_SESSION['test'] に変更してみてください
于 2013-02-18T12:55:37.680 に答える