2010-12-19 107 views
1

假設我在單個頁面中有兩種形式。一個叫做ParytForm.html,第二個叫clientForm.html。 我有一個包含兩個php函數的PHP文件。一個是PartyForm(),第二個是clientForm()。 現在有可能,當用戶填寫表格形式PartyForm.html,然後調用partyForm()。並且當用戶從clientForm.html填充表格時,然後調用 clientForm()。 謝謝如何調用PHP函數?

回答

3

在一種形式把

<input type="hidden" name="from" value="ParytForm.html" /> 

,並在其他:

<input type="hidden" name="from" value="clientForm.html" /> 

然後在你的PHP代碼區分您輸入:

if ('clientForm.html' == $_POST['from']) 
    { 
    // do stuff 
     PartyForm(); 
    } 
else if ('ParytForm.html' == $_POST['from']) 
    { 
    // do other stuff 
     clientForm(); 
    } 

我適應ParytForm.html的樂趣; - )

+0

感謝您快速回復每個人的身體。許多許多非常感謝 – Kulbir 2010-12-19 15:24:51

2

你可以通過GET方法(「do = partyform」)發送一個變量,在php中檢查它並調用正確的函數。

1

要做到這一點,您需要一些PHP程序來區分這兩個請求。這可以通過向表單提交的URL添加參數或更改提交按鈕的名稱來完成。儘管我傾向於使用URL方法,因爲它更乾淨。

例如

表1可以

<form method="phpfilename.php?dofunction=1"> 

表2可以

<form method="phpfilename.php?dofunction=2"> 

然後,在你的PHP文件,你可以檢查它的形式是利用發送

$form = $_GET['dofunction']; 

if ($form == '1') doFunction1(); 
else if ($form == '2') doFunction2(); 
+0

你[不想使用$ _REQUEST(HTTP: //stackoverflow.com/questions/1931587/is-it-wrong-to-use-request-for-data)。 – 2010-12-19 14:54:10

+0

是的。懶惰的編碼使用全面的!示例代碼更改爲反映。 – Codemwnci 2010-12-19 15:04:17

0

b最好的方式來做到這一點(我認爲)是使用PHP include()函數。在一個.php文件中使用你的表單(只能包括HTML),並在兩個表單文件中包含函數文件。

然後,只需使用action="clientForm()"在提交表單時調用函數。

2

您可以通過多種方式實現這一點,一種方法是在每個表單中包含隱藏字段,然後在提交後使用條件運行正確的功能。

下面

<form action="action.php" method="post"> 
... 
<input type="hidden" name="formName" value="PartyForm"> 
<input type="submit" value="Submit"> 
</form> 

<form action="action.php" method="post"> 
... 
<input type="hidden" name="formName" value="ClientForm"> 
<input type="submit" value="Submit"> 
</form> 

,然後在action.php的HTML代碼或者無論你怎麼稱呼你的網頁提交給

if($_POST['formName'] == "PartyForm"){ 
    partyForm(); 
}else if$_POST['formName'] == "ClientForm"){ 
    clientForm(); 
}