1

我需要开发一个跨多个页面的表单,但只需要一个 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,但在此之后,无论选择了哪些其他选项,它总是将访问者引导到结束页面(page4)。我错过了什么?还是我把这一切都搞错了?

4

1 回答 1

1

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

所以放

session_start();

在输出任何文本之前在脚本之上

然后每当用户提交表单时,转到下一页执行以下操作:

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

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

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

于 2012-01-28T23:46:42.920 回答