2017-05-03 74 views
1

我在做一個測驗項目:我們的想法是實現幾乎25個問題中,每個問題佔用每個HTML頁面有4個單選按鈕和一個提交按鈕和一個復位按鈕,well.On點擊提交按鈕,它應該採取的用戶轉到下一頁並將數據提交給服務器。如何實現這種雙重行爲?如何使提交按鈕成爲鏈接?

我嘗試這樣做:

<form action="cba.php" method="post"> 
    <a href="abc.html"> 
     <input type="submit" value="submit"> 
    </a> 
</form> 

但這隻有一個目的:代理爲紐帶,沒有提交的數據。

+1

這可以用一個隱藏字段,而不是你嘗試過的鏈接代碼來完成在提交表單時,執行'header(「Location:location-here」)'。 – RepeaterCreeper

+0

你可以更具體的我,在哪裏添加此代碼? – jamesgeorge007

+0

在你的CBA.php表單上添加。 – RepeaterCreeper

回答

1

如果你只是想在提交表格後,將用戶重定向,您可以使用:

header("Location: yourlink"); 

你叫cba.php PHP腳本。

否則,我不知道它是可能送他的PHP腳本頁面之前將用戶重定向。

+0

這已被評論5分鐘以前 – mplungjan

0

如前所述,通過ajax處理這個問題會更流暢,但它可以通過在表單處理代碼中創建一個重定向(如評論和當前答案中所述)來實現。

我相信你的問題是,每一步都會調用相同的進程代碼(cba.php),所以你需要一種方法來爲每個測驗部分定義下一部分。

<form action="cba.php" method="post"> 
    <input type="hidden" name="next-page" value="abc.html"> 
    <input type="submit" value="submit"> 

</form> 

然後我cba.php,您重定向到包含在這個隱藏字段中的值:

//save the data from the form, then 
header("Location: " . $_POST['next-page']); 
+0

有什麼用途? – jamesgeorge007

+0

它保存測驗下一頁的值,所以'cba。php'知道在保存數據後重定向到哪裏 – Steve

+0

我只有1個PHP代碼和近25個HTML頁面。我應該在PHP文件中放置這些代碼嗎? 我的意思是作爲第一行或任何地方等 – jamesgeorge007