2013-02-26 152 views
0

编辑:制作了一个简化的脚本。
我无法设法在下面的页面上保存$ _SESSION ['test_var']。
当我设置第二个提交时,我得不到回声。

<?php 
    session_start(); 
?> 
<html> 
    <head> 
     <?php 
      if(isset($_POST['submit1'])){ 
       $_SESSION['test_var'] = 1; 
       echo "test_var set!"; 
      } 
      if(isset($_POST['submit2'])){ 
       if(isset($_SESSION['test_var'])){ 
        echo "test_var still set!"; 
       } 
      } 
     ?> 
    </head> 
    <body> 
     <form NAME="testform" METHOD="POST" ACTION="test_session.php"> 
      <INPUT TYPE="Submit" NAME="submit1" VALUE="Set"><br> 
     </form> 
     <form NAME="testform2" METHOD="POST" ACTION="test_session.php"> 
      <INPUT TYPE="Submit" NAME="submit2" VALUE="Test"><br> 
     </form> 
    </body> 
</html> 
+9

你能告诉我们你是如何试图挽救'$ _SESSION [“登录”]'上其他页面? – 2013-02-26 03:56:39

+0

另外,您是否打开了错误报告?如果是这样,任何错误? – Spechal 2013-02-26 04:05:28

+0

我已经添加了第1页的代码(submitContent.php) – user2109682 2013-02-26 13:59:33

回答

0

解决!
的问题是,我不得不将文件保存在ANSI,它被保存在UTF-8

0

你确实意识到你正在回应文档的<head>。要查看它是否在那里,请尝试查看页面源代码。右键点击chrome并查看页面源代码。我认为这是问题。 也请确保您发布到同一个子域名。这意味着,如果您在domain.com,并且发布到www.domain.com,则会话将不会相同。

+0

当第一次提交时,我可以看到'test_var set!'回声,所以这不是问题。在这两种形式ACTION =“test_session.php”。 – user2109682 2013-02-27 01:48:30

+0

我运行了你的确切代码,它对我来说工作得非常好。它可能是你的设置或者什么:\我把它放在这里如果你想看。 http://tronner.com/tools/SO/test_session.php – Tristan 2013-02-27 05:00:59

+0

它也适用于我!我会看看设置。 – user2109682 2013-02-27 13:13:56