php取得表單提交的方法:1、利用預先定義變數“$_GET”,可以取得get資料;2、利用預先定義變數“$_POST”,可以取得post資料;3、利用預先定義變數“$_REQUEST”,get或post資料都可以取得。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
php取得表單提交資料的方法有三種:
get方式可以使用預定義變數$_GET來取得;
post方式可以使用預定義變數$ _POST來獲取;
如果不知道form 表單透過哪種方式提交數據,就可以使用預定義變數$_REQUEST來獲取,它兩種方式的數據都可以獲取。
1、使用預先定義變數$_GET快速取得表單資料(form表單需要設定為method="get"
)
在程式的開發過程中,由於GET 方法提交的資料是附加到URL 上發送的,因此在URL 的網址列中將會顯示「URL 使用者傳遞的參數」類型的信息,如下所示:
http://url?name1=value1&name2=value2 ...
name1、name2 為表單元素的名稱(有表單元素的name屬性設定),value1、value2 為表單元素的值。 url和表單元素之間以「?
」隔開,而多個表單元素之間以「&
」隔開,每個表單元素的格式都是「name= value”,固定不變。
我們加入user.html檔案的表單看看URL 的網址列
user.php檔案中可以直接使用預定義變數$_GET來
取得數據,$_GET 全域變數是一個關聯數組,數組的鍵名為表單元素name 的值,數組的值為對應表單的值。 (註只要是URL 中的參數都可以使用$_GET 取得。)
<?php var_dump($_GET); ?>
#可以使用$_GET['鍵名']
的方式來一一取得每個表單元素的值:
<?php header("content-type:text/html;charset=utf-8"); echo "用户名为:".$_GET[&#39;user&#39;]."<br>生日为:".$_GET[&#39;bday&#39;]; ?>
#2、使用預先定義變數$_POST快速取得表單資料(form表單需要設定為method="post"
)
post方法不依賴URL,不會將傳遞的參數值顯示在網址列中。
另外 POST 方法可以沒有限制地傳遞資料到伺服器,所有提交的資訊在後台傳輸,使用者在瀏覽器端是看不到這一過程的,安全性相對較高。所以,POST 方法比較適合用來傳送一些重要的(如信用卡號)資訊或比較大量的資料到伺服器。
提示:預設情況下 POST 方法的傳送訊息最大值為 8MB,後期可以透過修改 php.ini 設定檔中 post_max_size 的值進行變更。
$_POST
全域變數也是一個關聯數組,數組的鍵名為表單元素 name 的值,數組的值為對應表單的值。在實際程式開發過程中,當 form 表單的 method 屬性指定使用 POST 方式進行資料傳遞時,我們就應該使用 $_POST 來取得比表單的資料。
$_POST 全域變數的使用與普通數組是一樣,可以直接以$_POST['鍵值']
的形式存取其中的數據,下面透過一個簡單的範例來演示一下。
<?php header("content-type:text/html;charset=utf-8"); echo "用户名为:".$_POST[&#39;user&#39;]."<br>生日为:".$_POST[&#39;bday&#39;]; ?>
3、使用預定義變數$_REQUEST快速取得表單資料
在實際開發過程中,我們不知道form表單透過哪種方式提交資料時,該怎麼辦呢? PHP 中提供了一個 $_REQUEST 全域變量,它是一個包含了 $_POST、$_GET 和 $_COOKIE 的數組,數組結構與 $_POST 和 $_GET 類似。
也就是說不管是使用 POST 還是使用 GET 方式提交的數據,都可以使用 $_REQUEST 來獲取,甚至可以使用 $_REQUEST 來獲取 COOKIE 的資訊。在 PHP5.3 中引入 request_order 屬性,我們可以透過在 php.ini 設定檔中修改 request_order 屬性的值,來控制 $_REQUEST 中包含的內容。
request_order 属性的值可以是 G、P 和 C 这三个大写的英文字母,它们分别代表 GET、POST 和 COOKIE。默认情况下 request_order 属性的默认值为request_order="GP",并不包含 C,也就是说 $_REQUEST 中并不包含 COOKIE 的信息,如果我们希望 $_REQUEST 中包含 COOKIE 的话,需要将其修改为request_order="GPC"。
示例:
<?php header("content-type:text/html;charset=utf-8"); var_dump($_REQUEST); echo "用户名为:".$_REQUEST[&#39;user&#39;]."<br>生日为:".$_REQUEST[&#39;bday&#39;]; ?>
推荐学习:《PHP视频教程》
以上是php獲得表單提交的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!