2016-02-26 167 views
-2

我有一個提交按鈕如下圖所示:PHP - 確定提交按鈕點擊

<input type="submit" name="submit" value="Submit" /> 

A.

if($_POST['submit']) 
{ 
    ... 
} 

B.

if(isset($_POST['submit'])) 
{ 
    ... 
} 

C.

if(isset($_POST['submit']) && ($_POST['submit'] == 'Submit')) 
{ 
    ... 
} 

D.

if($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    ... 
} 

我的問題是他們是執行相同被點擊提交按鈕時?

回答

1
  • 一個將工作,但它會產生大約一個未定義的指標警告。它的工作原理是PHP自動將未定義的變量和索引視爲null

  • B是通常的做法。

  • C也將工作。如果你有多個提交按鈕,這也是一種有用的方法,例如

    <input type="submit" name="submit" value="Submit"> 
    <input type="submit" name="submit" value="Delete"> 
    

    然後你需要測試的$_POST['submit']值知道被點擊提交形式之一。另一種常常做的方法是給每個提交按鈕一個不同的名稱;那麼您可以使用方法B來測試每個名稱。如果你可以提交使用,而不是從瀏覽器的用戶界面默認的形式提交的Javascript形式,因爲form.submit()不包括在參數任何按鈕

  • d是非常有用的。另請注意,如果您可以這樣做,則不應使用name="submit",因爲form.submit將引用該按鈕而不是內置提交功能。