2012-07-17 34 views
1

我在index.html的形式,看起來像這樣調用PHP函數:如何從一個表單按鈕

<form name="form" method="post" action="send.php"> 
    . 
    . 
    . 
    . 

裏面我send.php我要的功能,function generatekey()function postData(),怎麼稱呼我叫postData()函數從我的表格中的action屬性?

回答

2

,你也可以讓你action這樣的:

<form name="form" method="post" action="send.php?postData"> 

,並在您send.php你可以這樣做:

if(isset($_GET['postData'])){ 
    postData(); 
} 
+0

這實際上看起來更好,然後我; – Peon 2012-07-17 08:14:29

+0

@DainisAbols,謝謝。我一直在Ajax調用中使用它。我用'ajaxCore.php'中的所有「ajaxy」東西,然後用'POST'和PHP中的類型發送數據,PHP將其解釋爲'GET'(如delete,edit,add ..)。 – Adi 2012-07-17 08:17:38

1

在你的窗體中添加一個獨特的隱藏字段,如:

<input type="hidden" name="action" value="postData" /> 

send.php

<?php 

    function generatekey() { 
     // action 
    } 

    function postData() { 
     // action 
    } 

    if ($_POST[ 'action' ] == 'postData') { 
     postData(); 
    } 

?> 

或閱讀提交值,如果它是獨一無二的。

0

基本上沒有「輕鬆」的方式做到這一點,你需要在腳本中編寫一些代碼,以決定調用什麼函數以及何時調用,例如:

if($_POST['submit'){ 
    postData(); 
} 

另一種選擇是使用諸如Codeigniterlaravel之類的許多MVC框架之一。

+1

如果多個表單引用相同的'send.php'文件,這會造成問題。 – Peon 2012-07-17 08:17:16

+0

我只是舉一個例子,說明一般情況下會如何實現。 – Tomer 2012-07-17 08:18:51