首頁 > 後端開發 > PHP問題 > php獲得表單提交的方法有哪些

php獲得表單提交的方法有哪些

青灯夜游
發布: 2023-03-12 14:08:01
原創
5566 人瀏覽過

php取得表單提交的方法:1、利用預先定義變數“$_GET”,可以取得get資料;2、利用預先定義變數“$_POST”,可以取得post資料;3、利用預先定義變數“$_REQUEST”,get或post資料都可以取得。

php獲得表單提交的方法有哪些

本教學操作環境: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 的網址列

php獲得表單提交的方法有哪些

php獲得表單提交的方法有哪些

user.php檔案中可以直接使用預定義變數$_GET來取得數據,$_GET 全域變數是一個關聯數組,數組的鍵名為表單元素name 的值,數組的值為對應表單的值。 (註只要是URL 中的參數都可以使用$_GET 取得。)

<?php
var_dump($_GET);
?>
登入後複製

php獲得表單提交的方法有哪些

#可以使用$_GET['鍵名']的方式來一一取得每個表單元素的值:

<?php
header("content-type:text/html;charset=utf-8");
echo "用户名为:".$_GET['user']."<br>生日为:".$_GET['bday'];
?>
登入後複製

php獲得表單提交的方法有哪些

#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['user']."<br>生日为:".$_POST['bday'];
?>
登入後複製

php獲得表單提交的方法有哪些

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['user']."<br>生日为:".$_REQUEST['bday'];
?>
登入後複製

php獲得表單提交的方法有哪些

推荐学习:《PHP视频教程

以上是php獲得表單提交的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板