簡體   English   中英

$ _SERVER ['REQUEST_METHOD']默認情況下評估為'GET'

[英]$_SERVER['REQUEST_METHOD'] evaluates to to 'GET' by default

對此進行了一些挖掘,但是,沒有運氣找到信息

我正在嘗試檢查表單是否已提交,以及是否為GETPOST 基本上我用的是:

if($_SERVER['REQUEST_METHOD'] == 'GET')

要么

if($_SERVER['REQUEST_METHOD'] == 'POST')

但是,我發現如果我不提交任何表單,只是直接轉到頁面 - 一個簡單的HTTP請求, REQUEST_METHOD就是GET 是什么賦予了? 這是設計的嗎? 如果是,那么我不能使用前一個語句來檢查表單是否已通過GET提交。 似乎有點多余......

有更多知識的人請向我解釋一下,我將不勝感激。 謝謝。

基本上大多數HTTP請求都是GET請求。

您可以使用if($_POST)來檢查它是否是POST。 (這是包含POST數據的數組。所有頁面都設置了$_GET ,所以if($_GET)無法判斷它是否為GET)

但是, if(count($_GET)>0)將告訴您是否有$ _GET數據。

您可以同時擁有POST和GET數據,方法是向其中包含GET數據的URL發送POST請求(即http://example.unreal?GetData=4&OtherData=no

只需通過瀏覽器訪問頁面或單擊鏈接即可獲得GET請求。

我遇到了同樣的問題並解決了這個問題:當表單操作設置為iprofile?r=search ,請求方法總是GET,表單中的所有輸入數據都將丟失。 但是當我將動作設置為iprofile/?r=search ,請求方法變為POST。

也許您也可以查看您的操作網址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM