php 5.3中的$ _SESSION变量没有坚持

时间:2012-10-24 03:49:23

标签: php session

在服务器从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

2 个答案:

答案 0 :(得分:0)

类似的问题只花了我3天左右,请确保在php.ini或会话变量中注释掉 request_order = None 或设置为“ GPCS ”不会被添加到超级全局数组REQUEST。

答案 1 :(得分:-1)

据我所知,一个没有以.php结尾的名字的页面根本不应该进入php处理器。它在5.2中工作比在5.3中不起作用更神秘。简而言之,制作你的索引页面index.php,一定要删除服务器上的index.html(也在本地,你不希望它再次上传)......一切都应该好。要回答您的问题,安装5.2是一个安装,5.3的安装是其他安装。可以为另一个设置不同的选项。