1

複数のページにまたがるフォームを開発する必要がありますが、必要な PHP スクリプトは 1 つだけです。最初のページでは、訪問者に一連のチェックボックスが表示されます。選択に応じて、追加のページを特定の順序で表示してから、最後のページまで表示する必要があります。各ページには、ページ番号を識別する隠し入力が含まれています。私がこれまでに持っているのはこれです:

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 つの配列に保存され、ユーザーがアンケートを終了したときに使用できます。

*ヒント: 配列マージを使用しているため、異なるページのラジオ ボタンには異なる名前が付けられていることを確認してください。いいね: question_1, question_2..*

于 2012-01-28T23:46:42.920 に答える