首頁  >  文章  >  後端開發  >  php判斷form表單是否提交詳解

php判斷form表單是否提交詳解

伊谢尔伦
伊谢尔伦原創
2018-05-16 14:32:3810011瀏覽

php判斷表單是否提交

#我們一般透過submit 提交表單時,會在乎表單中填入的一大堆資料是否提交到後台。這裡就需要做個判斷,使用php程式碼來判斷表單資料是否被提交一般採用如下的形式:

<?php
if(isset($_POST[&#39;submit&#39;])) { 
  echo " 数据被提交过来了";
} 
?>

說明:isset -- 偵測變數是否設定 ,回傳值有如下的幾種形式。

若變數不存在則回傳FALSE 

若變數存在且其值為NULL,也傳回FALSE 

若變數存在且值不為NULL,則回傳TURE 

同時檢查多個變數時,每個單一項目都符合上一條要求時才回傳TRUE,否則結果為FALSE。

php表單提交方式GET 和POST 請求

#GET方式把資料和請求的URL位址放在一起,瀏覽的結果放在快取區內。由於GET放在URL後面傳遞,所以傳遞的資料大小有限。

用POST發送的數據單獨存放在包中,不跟隨URL地址,所以允​​許發送大量數據,但是客戶端每次都會向伺服器發送請求,不會存放在緩存區內。可以使用$_POST[]接收POST的資料。在URL中,不會顯示資料資訊。

下面來分析兩種提交方式的差異:

1. GET是從伺服器上取得數據,POST是傳送數據。
2.  GET是把參數資料佇列加到提交表單的ACTION屬性所指的URL中,數值和表單內各個欄位一一對應,在URL中可以看到。 POST是透過HTTP POST機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL位址。用戶看不到這個過程。
3.  對於GET方式提交表單數據,伺服器端用$_GET['name']取得變數的值,對於POST方式提交表單數據,伺服器端用$_POST['name']取得提交的數據,當然,兩者都可以透過$_REQUEST['name']獲得表單資料。對於REQUEST方式提交表單數據,伺服器端用$_REQUEST[‘name’]取得變數的值,但這種方式很少使用。
4.  GET傳送的資料量較小,且不能大於2KB。 POST傳送的資料量較大,一般被預設為不受限制。但理論上,一般認為不能超過100KB。
5.  GET安全性非常低,POST安全性較高。
6.  GET表單值可以透過_GET取得;但透過action的url設定的參數總是取得不到的,f383826216bf77f62f99fde89d61fa8a跟6fc24c85aa114c1b045d5838494e16a7是一樣的,也就是說,在這種情況下,GET方式會忽略action頁面後邊帶的參數列表。 POST表單值可以透過_POST取得;但透過action的url參數設定的參數則可以不能透過_POST取得。 action=test.php?id=1這種就是GET方式傳值,可以用$_REQUEST和$_GET接受傳值,但不能用POST方式取得到值,即使表單是POST方式提交。所在,在提交表單時,如果action中同時有參數,最好只能透過POST表單方式,對於表單內數據,直接透過POST獲取,對於action中參數,童工GET獲取。

在做資料查詢時,建議用GET方式,而在做資料新增、修改或刪除時,建議用POST方式。
request是先讀取 get再讀post 的, 同時存在, 即覆寫前面的變數。

以上是php判斷form表單是否提交詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn