サーバーを 5.2.17 から 5.3.13 にアップグレードすると、$_SESSION 変数がページからページへ渡されなくなりました。
1 ページ目で $_SERVER["isLoggedIn"] = true を設定し、2 ページ目でテストしていますが、すべての $_SESSION 変数が設定されていません。
次のように簡単な例のコードを切り詰めました: login.html:
<?php
session_start();
$_SESSION["isLoggedIn"] = true;
$_SESSION['visitorLanguage'] = "en" ;
if ($_SESSION["isLoggedIn"] == true ){
print "<p> Log in successful. </p>";
print "<script>window.location='index.html? lang=".$_SESSION['visitorLanguage']." '</script>";
}
?>
index.html:
<?
session_start();
echo "Version: ".phpversion();
echo " Session Data: ";
echo "Is logged in: " . $_SESSION["isLoggedIn"]. "<br/>";
echo "Visitor Language: " . $_SESSION["visitorLanguage"];
?>
戻り値:
Version: 5.3.13 Session Data: Is logged in:
Visitor Language
and in 5.2:
Version: 5.2.17 Session Data: Is logged in: 1
Visitor Language: en