0

サーバーを 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
4

2 に答える 2

0

これと同様の問題で約 3 日かかりました。request_order = Noneをコメントアウトするか、php.ini で「 GPCS 」に設定しないと、セッション変数がスーパーグローバル配列 REQUEST に追加されません。

于 2013-11-07T03:27:48.847 に答える