您好,登錄后才能下訂單哦!
本篇內容主要講解“php中$_get和$_post的使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php中$_get和$_post的使用方法”吧!
在php中,“$_get”用于收集來自“method="get"”的表單中的值,即接收form表單中使用GET方法提交的表單數據;“$_post”用于收集來自“method="post"”的表單中的值,即獲取由POST請求發送的表單數據。
本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦
在 PHP 中使用 get 和 post 兩種方法接收來自 form 表單的值,在 form 表單中可以定義 PHP 的接收方式和接收地址。
get 和 post 方法主要有以下幾點區別。
get 是把參數數據隊列添加到提交表單的 action 屬性所指的 URL 中,值和表單內各個字段一一對應,在 URL 中可以看到。post 是通過 HTTP post 機制將表單內各個字段與其內容放置在 HTML HEADER 內一起傳送到 action 屬性所指的 URL 地址,用戶看不到這個過程。
get 傳送的數據量較小,不能大于 2KB,這主要是因為受 URL 長度限制。post 傳送的數據量較大,一般默認為不受限制。
get 安全性非常低,post 安全性較高,但是 get 執行效率卻比 post 方法好。
get 是 form 的默認方法。
建議在傳輸的數據包含機密信息時用 post 數據提交方式,在做數據查詢時用 get 方式,在做數據添加、修改或刪除時用 post 方式。
$_POST全局變量
POST 方法不依賴于 URL,不會將傳遞的參數值顯示在地址欄中。另外 POST 方法可以沒有限制地傳遞數據到服務器,所有提交的信息在后臺傳輸,用戶在瀏覽器端是看不到這一過程的,安全性相對較高。所以,POST 方法比較適合用于發送一些重要的(如信用卡號)信息或者比較大量的數據到服務器。
提示:默認情況下 POST 方法的發送信息最大值為 8MB,后期可以通過修改 php.ini 配置文件中 post_max_size 的值進行更改。
而 PHP 的 $_POST 全局變量則是專門用于獲取由 POST 請求發送的表單數據的。其數據結構是一個關聯數組,數組的鍵名為表單元素 name 的值,數組的值為對應表單的值。在實際程序開發過程中,當 form 表單的 method 屬性指定使用 POST 方式進行數據傳遞時,我們就應該使用 $_POST 來獲取比表單的數據。
$_POST 全局變量的使用與普通數組是一樣,可以直接以$_POST['鍵值']的形式訪問其中的數據,下面通過一個簡單的示例來演示一下。
【示例】使用 $_POST 全局變量獲取 form 表單中傳輸的數據。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="index.php" method="post"> 姓名:<input type="text" name="name" placeholder="請輸入姓名"><br> 性別:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br> 愛好:<input type="checkbox" name="hobby[]" value="read">閱讀 <input type="checkbox" name="hobby[]" value="travel">旅游 <input type="checkbox" name="hobby[]" value="sport">運動 <input type="checkbox" name="hobby[]" value="internet">上網<br> 職業:<select name="job"> <option value="coder">程序員</option> <option value="teacher">教師</option> <option value="doctor">醫生</option> <option value="other">其它</option> </select><br> <input type="submit" value="提交">  <input type="reset" value="重置"> </form> </body> </html> <?php if(!empty($_POST)){ echo '提交成功!<br><pre>'; var_dump($_POST); } ?>
運行上面的代碼,并在輸入框中填入合適的信息,點擊提交按鈕即可將表單中填入的信息傳遞給 PHP 程序。然后 PHP 程序可以通過 $_POST 來接收表單中傳遞信息,并對這些信息進行處理,比如可以將數據保存到數據庫或者輸出到瀏覽器等等,詳細代碼就不演示了,大家可以自行動手嘗試一下。
$_GET全局變量
$_GET 全局變量與前面介紹的 $_POST 全局變量類似,它是用來接收 form 表單中使用 GET 方法提交的表單數據的,GET 方法是 form 表單中 method 屬性的默認方法。使用 GET 方法提交的表單數據會附加到 URL 上,并作為 URL 的一部分發送到服務器端。
在程序的開發過程中,由于 GET 方法提交的數據是附加到 URL 上發送的,因此在 URL 的地址欄中將會顯示“URL+用戶傳遞的參數”類型的信息,如下所示:
http://url?name1=value1&name2=value2 ...
其中,url 為表單響應地址(如 http://c.biancheng.net),name1、name2 為表單元素的名稱,value1、value2 為表單元素的值。url和表單元素之間用“?”隔開,而多個表單元素之間用“&”隔開,每個表單元素的格式都是“name=value”,固定不變。
由于不同的瀏覽器對 URL 的長度都有不同的限制,所以在使用 GET 方法提交數據時,一定要注意數據量的大小,如果數據的長度超過了瀏覽器的限制,數據將被截斷,從而導致數據丟失。主流瀏覽器對 URL 長度的限制如下表所示:
游覽器 | 最大長度(字符數) |
---|---|
Internet Explorer | 2083 |
Firefox | 65536 |
chrome | 8182 |
Safari | 80000 |
Opera | 190000 |
$_GET 全局變量與 $_POST 的結構相似,同樣是一個關聯數組,數組的鍵名為表單元素 name 的值,數組的值為對應表單的值。$_GET 不僅僅可以獲取 form 表單的數據,只要是 URL 中的參數都可以使用 $_GET 獲取。
另外一點需要注意的是:在 PHP 中使用 $_POST 或者 $_GET 獲取表單數據時,是區分大小寫的,所以在開發過程中應該注意不能忽略了字母的大小寫。
【示例】使用 $_GET 全局變量獲取 form 表單中傳輸的數據。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="index.php" method="get"> 姓名:<input type="text" name="name" placeholder="請輸入姓名"><br> 性別:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br> 愛好:<input type="checkbox" name="hobby[]" value="read">閱讀 <input type="checkbox" name="hobby[]" value="travel">旅游 <input type="checkbox" name="hobby[]" value="sport">運動 <input type="checkbox" name="hobby[]" value="internet">上網<br> 職業:<select name="job"> <option value="coder">程序員</option> <option value="teacher">教師</option> <option value="doctor">醫生</option> <option value="other">其它</option> </select><br> <input type="submit" value="提交">  <input type="reset" value="重置"> </form> </body> </html> <?php if(!empty($_GET)){ echo '提交成功!<br><pre>'; var_dump($_GET); } ?>
到此,相信大家對“php中$_get和$_post的使用方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。