测试代码在下边,第一次打开后,再刷新应该是前和后都显示。可是一直存不住值。我是一个网站以前好好的,现在一登陆提示成功,然后接着提示没有登陆,我是用session来存值的。然后我用下面代码,在本地测试正常,在出问题的空间测试不正常。我想可能是服务器有问题,要是服务器问题怎么解决呢?我重装了iis,还是一样,存不住值。
<?php
@session_start();
echo("前:");
print_r($_SESSION);
session_register("aaa");
$_SESSION["aaa"]="test";
echo("<br>后:");
print_r($_SESSION);
?>

解决方案 »

  1.   

    如果使用session_register的话,php.ini中的register_globals必须打开。
    不推荐使用session_register,直接赋值就好了:
    <?php
    session_start();
    echo("前:");
    print_r($_SESSION);
    $_SESSION["aaa"]="test";
    echo("<br>后:");
    print_r($_SESSION);
    ?>
      

  2.   

    <?php
    session_start();
    echo("前:");
    print_r($_SESSION);
    $_SESSION['aaa']="test"; //这里的aaa用单引号
    echo("<br>后:");
    print_r($_SESSION);
    ?>
      

  3.   

    @session_start();
    改为
    session_start();
      

  4.   

    session_register这个我也不用,以前也没有,是网上查的,有的说加上这个。至于单引号,这和双引号一个作用。不行。前面加@,只有一个作用,就是不显示这个语句的警告信息。都没有说到点上,但还是谢谢你们的回复
      

  5.   

    看php.ini里面的session.savepath你是否打开了,并且是否是一个存在的目录。
      

  6.   

    主要是session的配置吧。
    php.INI里面
    session.save_handler = files
    session.save_path = "c:/wamp/tmp"
    session.use_cookies = 1
    session.name = PHPSESSID
    session.auto_start = 0
      

  7.   

    存 session 的 path 是否存在,可写?