无法将数组保存到会话,空出来

时间:2012-01-19 21:16:00

标签: php session session-variables

如果你能让这个简单的SESSION VARIABLES例子起作用,我会拥抱你! 我无法在我的网站上使用Session Variables。我在Windows 7上使用Chrome浏览器运行php5。

这是发送页面:

    <?php
     session_start();
     $red='red';
     $blue='blue';
     $green='green';

     $SESSVARS=array($red,$blue,$green);

     $_SESSION['USERVARS']= $SESSVARS; 

     ?>

 <p>Set Sessionvars</p>
 <form action="SessVarCheck.php" method="post">
 <input name="Submit" type="submit">
 </form>

这是结果页面:

   <?php
    session_start();
    echo "val 1:".$_SESSION['USERVARS'][0];
    echo "val 2:". $_SESSION['USERVARS'][1];
    echo "val 3:". $_SESSION['USERVARS'][2];
   ?>
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SessVarCheck.php</title>
</head>

<body>
The Result page
</body>
</html>

我在所有三个回声中都空了。 任何想法都会受到欢迎!

2 个答案:

答案 0 :(得分:1)

确保在两页上输出任何页面内容之前调用session_start()。 (参见“注释”部分here

(我假设您可能已经知道这一点,但鉴于我在发送页面上没有看到“&lt; html&gt;”,我认为该脚本可能会有更多内容。此外,我不知道如何敏感的这个要求是 - 只是php标签之前的空格可能足以成为一个问题。)

答案 1 :(得分:0)

尝试以下几点:

1)在结果页面上执行var_dump($_SESSION),以查看会话的原始内容是什么

2)验证会话是否正常工作。在session_start()调用之后的某个地方向两个脚本添加echo "SessionID: " . session_id();。如果您在每个页面上都没有获得相同的会话ID,那么每次都会收到一个新会话,而且很可能是一个cookie问题。