foreach $ _POST将表单数据传送到第三页

时间:2011-11-25 08:06:36

标签: php foreach

我有一个包含50个问题的页面,然后当用户完成并提交表单时,我将用户带到确认页面,用户可以选择返回问题页面或最终确定。如果用户最终确定,则转到另一个计算合格率的页面。我的问题是#_POST foreach没有延续到最后一页。有没有办法可以将它附加到会话中,或者我是否必须将其写入表中然后再从那里获取它?

问题页面

echo "<input type='checkbox' name='question[$q_nr][]' value='A'>$option1<BR>";
echo "<input type='checkbox' name='question[$q_nr][]' value='B'>$option2<BR>";

确认页面

foreach($_POST['question'] as $key => $ans)
{ ..... }

确定百分比的最终页面以及问题所在的位置无法从上一页检索

foreach($_POST['question'] as $key => $ans)
{ ..... }

4 个答案:

答案 0 :(得分:2)

你只是累了吗? $_SESSION[] = $_POST

编辑:

$_SESSION[] = $_POST;

foreach ($_POST as $k => $v) {
    $_SESSION[$k] = $v;
}

第三页:

foreach ($_SESSION as $k => $v) {
    ...
}

答案 1 :(得分:1)

是的,有一种方法可以将$_POST附加到会话,因为它是一个变量。

是的,你可以写一张桌子再从那里开始。

什么更好?这取决于您对用户的期望,并提供适当的应用程序行为。

例如,如果它们是邪恶的并且永远不会最终确定,并且如果您不提供清理机制,则会在表中写入大量无用的数据。

答案 2 :(得分:0)

您可以使用会话来存储帖子数据,也可以在每次进入确认页面时计算结果。然后,您可以通过编码的GET参数

将结果传输到最终页面

答案 3 :(得分:0)

如果我建议的话,

而不是从问题页面发布到确认页面,当用户最终确定问题时,只需隐藏问题的html元素并打开一个新元素并填写确认数据。

然后你有两个按钮,回到问题并发布表格。如果用户点击“返回”只是切换问题/确认html元素,如果用户点击“发布”,它将实际提交表单数据。