php $ _SESSION数组不保留以前页面存储的值

时间:2010-07-19 23:09:45

标签: php session session-variables

我正在尝试创建一个有多个部分的表单。它实际上是一个在线菜单订购系统。 如果您保持在同一部分(比如..开胃菜),则值会成功加载到$ _SESSION并在文本框中显示为值。 但是,如果切换部分(例如.. Soups),则首先加载值。但是当您提交特定部分/开关部分的订单时,它会丢失来自Appetizer的值。

似乎我的会话数组只能从POST数组中检索值,并且无法保留最初存储在其中的值。

有人可以告诉我我做错了什么吗?我对此比较陌生。

This is where the code is...

4 个答案:

答案 0 :(得分:2)

好吧,让我们确保会话实际上在您的服务器上运行。在它自己的文件中试用这段代码。刷新几次。计数器应该每次递增。可以?是否有任何错误报告?

<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_erorrs', true);
session_start();

if(!array_key_exists('counter', $_SESSION))
    $_SESSION['counter'] = 0;

echo "You have visited this page " . $_SESSION['counter'] . "times.";
exit;

答案 1 :(得分:1)

session_start();

在所有页面之上?

答案 2 :(得分:1)

感谢大家的回答。结果证明服务器空间不足。我在不同的服务器上测试了代码,它运行得很好!

答案 3 :(得分:0)

我认为你将所有的值覆盖到你的会话中。所以你第二次存储前一个值就会无效。尽量只存储项目名称和数量的值。我认为这将有所帮助