我有一个包含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)
{ ..... }
答案 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元素,如果用户点击“发布”,它将实际提交表单数据。