とても紛らわしい問題について本当に疑問に思っています。値として 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'