我需要开发一个跨多个页面的表单,但只需要一个PHP脚本。在第一页上,访问者会看到一系列复选框。根据他们的选择,必须按特定顺序显示其他页面,然后显示结束页面。每个页面都包含一个隐藏的输入,用于标识它的页码。到目前为止我所拥有的是:
if(!isset($currentPage)) {
echo $firstPage;
}
else {
echo nextPage($currentPage);
}
function nextPage($lastPage) {
switch($lastPage) {
case '0':
if(isset($opt1)) {
return $page1;
}
else if(isset($opt2)) {
return $page2;
}
case '2':
if(isset($opt3)) {
return $page3;
}
case '3':
case '1':
return $page4;
}
}
以上代码正确识别是否在起始页面后显示page1,page2或page3,但在此之后,无论选择了哪些其他选项,它始终将访问者引导至结束页面(第4页)。我错过了什么?或者我把这一切都弄错了?
答案 0 :(得分:1)
我建议将答案存储在会话变量中,直到用户完成调查。
所以放
session_start();
在输出任何文本之前在脚本之上
然后每当用户提交表单时,请转到下一页:
$_SESSION['answers'] = array_merge($_POST, $_SESSION['answers']);
这将存储一个数组的答案,然后您可以在用户完成调查时使用该数组。
*提示:由于它使用数组合并,请确保不同页面上的单选按钮具有不同的名称。喜欢:question_1,question_2 .. *