PHP - 复杂的多页表单

时间:2012-01-28 23:09:01

标签: php checkbox multipage

我需要开发一个跨多个页面的表单,但只需要一个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页)。我错过了什么?或者我把这一切都弄错了?

1 个答案:

答案 0 :(得分:1)

我建议将答案存储在会话变量中,直到用户完成调查。

所以放

session_start();
在输出任何文本之前

在脚本之上

然后每当用户提交表单时,请转到下一页:

$_SESSION['answers'] = array_merge($_POST, $_SESSION['answers']);

这将存储一个数组的答案,然后您可以在用户完成调查时使用该数组。

*提示:由于它使用数组合并,请确保不同页面上的单选按钮具有不同的名称。喜欢:question_1,question_2 .. *