[英]$_SERVER['REQUEST_METHOD'] evaluates to to 'GET' by default
對此進行了一些挖掘,但是,沒有運氣找到信息
我正在嘗試檢查表單是否已提交,以及是否為GET
或POST
。 基本上我用的是:
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.