我需要開發一個跨越多個頁面的表單,但只需要一個PHP腳本。在第一頁上,訪客將看到一系列複選框。根據他們的選擇,其他頁面必須以特定順序顯示,然後才能顯示在關閉頁面上。每個頁面都包含一個隱藏的輸入,用於標識它是什麼頁碼。我到目前爲止是這樣的: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;
}
}
上面的代碼正確標識是否顯示第1頁,起始頁後第2頁或第3頁,但在這之後,無論可能已經選擇了什麼其他的選擇,它總導演關閉頁面的訪問者(page4)。我錯過了什麼?或者我是否完全錯了?
供參考:PHP _does_有一個['elseif'關鍵字](http://php.net/manual/en/control-structures.elseif.php)。在你的情況下使用'elseif'和'else if'沒有區別,但是如果你使用冒號來定義語句組而不是大括號,那麼使用'else if'會導致錯誤。 – 2012-01-28 23:19:16
'$ currentPage'從哪裏來?完成後它總是3個變量嗎? – Wrikken 2012-01-28 23:41:23
$ currentPage是從所有頁面上的隱藏輸入派生的變量。對不起,我忘了提到這一點。 @Lèsemajesté - 我知道有一個'elseif',但除非它破壞了腳本的功能,否則爲了便於閱讀,我更喜歡'else if'。個人喜好我猜。 – Bryan 2012-01-28 23:45:28