2011-03-29 109 views
0

我有一个非常奇怪的问题,将通过$ _POST提交的表单值保存为会话变量。

OK,所以我有第1页它提交到2

第2页,我所有的帖子变量设置为Session变量页面上的表单。

第3页我正在检索这些变量。

在第2页,如果我写的东西是这样的:

$_SESSION['fname'] = 'john'; 

它工作正常。我怎样才能取出第3页。

。如果我喜欢写东西

$_SESSION['fname'] = $_POST['fname']; 

即会话变量是页面上的空白3.

即使怪异,如果我这样做:

$_SESSION['fname'] = $_POST['fname'].' Doe'; 

第3页我只看到了Doe。以前由其他页面设置

Session变量也3.

该职位变量2页面上设置我已经验证页面上罚款,我在在这一点上的损失。我不是一个PHP会话专家或任何东西,但我曾与他们合作过,并没有见过这样的事情。

任何人有任何想法?

编辑:变量在会议上被设置,这是第3页。

+1

我想冒险一个猜测,即你“验证”了帖子变量的错误,并且他们拼写错误或者其他原因。 – zzzzBov 2011-03-29 18:46:38

+0

此外,我刚刚证实session.save_path,session.cookie_path,session.name和session_id()在所有3个页面中都是相同的,所以没有任何可以看到的疯狂的多个会话问题。 – Dan 2011-03-29 19:09:41

回答

0

的只是空白,这意味着,在后($_POST['name'])一些没有被设置;

尝试第2页var_dump($_POST);也希望看到什么是真正得到了公布

+0

'array(1){[“fname”] => string(3)“Dan”}' – Dan 2011-03-29 18:52:37

+0

@丹有你的答案。切换到'$ _POST ['fname']',你应该很好^ _^ – Neal 2011-03-29 18:53:52

+0

@丹然后选择你的问题的最佳答案。如果你这样做的话,更多的人会更喜欢将来的问题:-) – Neal 2011-03-29 18:54:38

-1

我相信这个问题是因为会话数据写入时,POST数据不可用。

您可以通过打开php.ini并确保POST在SESSION之前注册来解决该问题,这样,当您尝试编写SESSION数据时,POST可用。

+0

在您的脚本获得控制权之前,超全球体会被填充。会话在脚本结束时写出,或者调用'session_write_close()'。您不必“注册”POST。它总是在那里,如果脚本通过POST调用被调用,将在其中包含POST的键/值对。 – 2011-03-29 18:59:45

0

我不禁要问:你是否检查过method="POST"而不是GET页1表格?