1. 修改php.ini,查找 register_globals,將其值修改為 On。這樣就可以像原來(lái)一樣,例如,提交的表單中包括一個(gè)名為"username"的變量,那么在php中就可以直接使用$username來(lái)訪問(wèn)該變量。但是,除非你要使用一段舊的代碼而考慮到兼容性問(wèn)題,否則不建議使用該方法。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)克州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
2. 使用 $HTTP_GET_VARS、$HTTP_POST_VARS數(shù)組來(lái)訪問(wèn),例如寫(xiě)成$HTTP_POST_VARS["username"]的形式。不過(guò)該方法也不建議采用。
3. (推薦)使用 $_POST、$_GET等數(shù)組來(lái)訪問(wèn),例如寫(xiě)成 $_POST["username"]的形式。建議采用這種方法。
(推薦)使用 import_request_variables 函數(shù)。該函數(shù)將提交內(nèi)容導(dǎo)入到變量中。
例如 import_request_variables("gp", "rvar_");第一個(gè)參數(shù)可以選擇g,p,c,分別表示導(dǎo)入 GET,POST,COOKIE 變量;第二個(gè)參數(shù)為導(dǎo)入后的變量前綴。執(zhí)行上面的語(yǔ)句后即可使用 $rvar_username 來(lái)訪問(wèn)提交的 username 變量。使用import_request_variables("gp", "");可以兼容以前的PHP程序。
PHP $_GET 和 $_POST變量是用來(lái)獲取表單中的信息的,比如用戶輸入的信息。
PHP表單操作
在我們處理HTML表單和PHP表單時(shí),我們要記住的重要一點(diǎn)是:HTML頁(yè)面中的任何一個(gè)表單元素都可以自動(dòng)的用于PHP腳本:
方法1、最常見(jiàn)的方法是:$_post['fieldname'];
說(shuō)明:只能接收content-type:
application/x-www-form-urlencoded提交的數(shù)據(jù)
解釋:也就是表單post過(guò)來(lái)的數(shù)據(jù)
方法2、file_get_contents("php://input");
說(shuō)明:
允許讀取
post
的原始數(shù)據(jù)。
和
$http_raw_post_data
比起來(lái),它給內(nèi)存帶來(lái)的壓力較小,并且不需要任何特殊的
php.ini
設(shè)置。
php://input
不能用于
enctype="multipart/form-data"。
解釋:
對(duì)于未指定
content-type
的post數(shù)據(jù),則可以使用file_get_contents(“php://input”);來(lái)獲取原始數(shù)據(jù)。
事實(shí)上,用php接收post的任何數(shù)據(jù)都可以使用本方法。而不用考慮content-type,包括二進(jìn)制文件流也可以。
所以用方法二是最保險(xiǎn)的方法
方法3、$globals['http_raw_post_data'];
說(shuō)明:
總是產(chǎn)生
$http_raw_post_data
變量包含有原始的
post
數(shù)據(jù)。
此變量?jī)H在碰到未識(shí)別
mime
類型的數(shù)據(jù)時(shí)產(chǎn)生。
$http_raw_post_data
對(duì)于
enctype="multipart/form-data"
表單數(shù)據(jù)不可用
如果post過(guò)來(lái)的數(shù)據(jù)不是php能夠識(shí)別的,可以用
$globals['http_raw_post_data']來(lái)接收,
比如
text/xml
或者
soap
等等
解釋:
$globals['http_raw_post_data']存放的是post過(guò)來(lái)的原始數(shù)據(jù)。
$_post或$_request存放的是
php以key=value的形式格式化以后的數(shù)據(jù)。
但$globals['http_raw_post_data']中是否保存post過(guò)來(lái)的數(shù)據(jù)取決于centent-type的設(shè)置,即post數(shù)據(jù)時(shí)
必須顯式示指明content-type:
application/x-www-form-urlencoded,post的數(shù)據(jù)才會(huì)存放到
$globals['http_raw_post_data']中
一般是用post獲取提交的數(shù)據(jù),如下實(shí)例:
form?name="form1"?method="post"
p用戶名:input?type="text"?name="uname"?//p
p密碼:input?type="password"?name="upwd"?//p
pinput?type="submit"?name="btn"?value="提交"?//p
?php
if?($_POST["btn"]){
echo?'用戶名:'.$_POST["uname"].'br';//三體教程
echo?'密碼:'.$_POST["upwd"];
}
?
/form
在獲取表單數(shù)據(jù)中,最常用的自動(dòng)全局變量是$_GET和$_POST,它們分別獲取通過(guò)GET方法提交的數(shù)據(jù)和通過(guò)POST方法提交的數(shù)據(jù)。
比如一個(gè)名稱為"user"的文本框表單控件,如果用GET方法提交,可以用 $_GET["user"]或者$_GET['user']
獲取它提交的值。
PHP獲取JSON的數(shù)據(jù)可以使用內(nèi)置的 json_decode() 就可以解碼為PHP變量,可根據(jù)自己需要的格式來(lái)進(jìn)行格式化并提交到數(shù)據(jù)庫(kù)。
例如:
?php?
$json?=?'{"a":1,"b":2,"c":3,"d":4,"e":5}';?
var_dump(json_decode($json));?
var_dump(json_decode($json,?true));?
?
將會(huì)輸出
object(stdClass)#1?(5)?{?
["a"]?=?int(1)?
["b"]?=?int(2)?
["c"]?=?int(3)?
["d"]?=?int(4)?
["e"]?=?int(5)?
}?
array(5)?{?
["a"]?=?int(1)?
["b"]?=?int(2)?
["c"]?=?int(3)?
["d"]?=?int(4)?
["e"]?=?int(5)?
}
其實(shí)不用再前端提交IP的,
用戶提交數(shù)據(jù)給后端處理的時(shí)候,就可以獲取到用戶的IP地址的
$ip = GetyonghuIP(); 這樣你就能獲取到用戶IP地址,
然后 插入數(shù)據(jù)庫(kù)中即可,
壓根不用前端提交的。
分享名稱:php獲取數(shù)據(jù)提交 php獲取post數(shù)據(jù)
文章路徑:http://jinyejixie.com/article40/dossoeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)、網(wǎng)站制作、云服務(wù)器、網(wǎng)頁(yè)設(shè)計(jì)公司、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容