2015-05-31 88 views
1

因此,您可以在文件中包含例如functions.php,然後您可以在該頁面中使用不同的功能來驗證用戶輸入。如何使用一個頁面處理多個表單?

但我怎樣才能使用相同的文件處理多個表單?

實施例:

include formprocessor.php 

formprocessor將包含所有與每個窗體功能:

Form A action=formAfunction() 
Form B action=formBfunction() 
Form C action=formCfunction() 

能formprocessor.php包含一個函數專爲處理每個窗體?每個表格都有自己的功能來處理他們的數據。

如果這是可能的,比爲網站上的每個表單提供處理器文件更方便。 10個表格處理10個文件?

或10格式1處理文件。

回答

0

您可以看到一個input type = hidden,它包含每個表單的名稱,然後在表單處理器中讀取提交的名稱並相應地轉到代碼的特定部分。

0

你可以在HTML中添加一個名稱提交按鈕爲每個表單

<form method='post' ... > 
    .... 
    <input type='submit' name='formA' ...> 
</form> 

<form method='post' ... > 
    .... 
    <input type='submit' name='formB' ...> 
</form> 

然後使用像這樣在你的PHP代碼來處理:

if(isset($_POST['formA'])){ 
    formAfunction(); //handle formA 
}elseif(isset($_POST['formB'])){ 
    formBfunction(); //handle formB 
} //.... etc 
0

有內部隱藏進程你的形式。 IE

<form id = "login" action = "calls.php" method = "POST"> 
<input id="process" name="process" type="hidden" value="loginpr"> 
<input type="submit"> 
</form> 
<form id = "logout" action = "calls.php" method= "POST"> 
<input id="process" name="process" type="hidden" value="logoutpr"> 
<input type="submit> 
</form> 

然後你有你的calls.php文件,它根據所調用的進程切換。

if(isset($_POST['process'])){ 
     switch($_POST['process']) { 
       case 'loginpr': 
       loginfunction(); 
       break; 
       case 'logoutpr': 
       logoutfunction(); 
       break; 
     } 
    } 
else { echo "The process is not linked within this form"; } 

calls.php將是你formproccessor.php文件

相關問題