php獲取post數據
㈠ php函數裡面怎麼獲取post過來的值
php直接用全局變數$_POST來接收post參數
比如:前端<input name ="username" value="123" type="text"/>
參數username通過post傳參數到服務內器,容php以$_POST['username']來接收
㈡ php如何獲得http post的數據
PHP獲取POST數據的幾種方法:
方法1、最常見的方法是:$_POST['fieldname'];
說明:只回能接收Content-Type: application/x-www-form-urlencoded提交的答數據。
方法2、file_get_contents("php://input");
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。
php://input 不能用於 enctype="multipart/form-data"。
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。
此變數僅在碰到未識別 MIME 類型的數據時產生。
㈢ php 怎麼POST獲取數據
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數據
解釋:也就是表單POST過來的數據
方法2、file_get_contents("php://input");
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。
php://input 不能用於 enctype="multipart/form-data"。
解釋:
對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」);來獲取原始數據。
事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。
所以用方法二是最保險的方法
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。
此變數僅在碰到未識別 MIME 類型的數據時產生。
$HTTP_RAW_POST_DATA 對於 enctype="multipart/form-data" 表單數據不可用
如果post過來的數據不是PHP能夠識別的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,
比如 text/xml 或者 soap 等等
解釋:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過來的原始數據。
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以後的數據。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST過來的數據取決於centent-Type的設置,即POST數據時 必須顯式示指明Content-Type: application/x-www-form-urlencoded,POST的數據才會存放到 $GLOBALS['HTTP_RAW_POST_DATA']中
㈣ php接收post數據要怎麼弄
頁面A 向B頁面post數據
A頁面: name="add" value="1"
B頁面:
static $num;
if( istset($_POST['add']) && $_POST['add']){
//比如將計數記錄在$num
$num = $num++;
}
㈤ php接收POST數據並循環輸出的代碼
在php中,表單POST提交的數據是存放在$_POST變數中.$_POST變數是一個數組版,它是一個以表單權欄位名作索引的數組.比如有以下表單:
html"><formmethod="post">
<p>姓名:<inputtype="text"name="name"value=""></p>
<p>年齡:<inputtype="text"name="age"value=""></p>
<p><inputtype="submit"value="提交"></p>
</form>
輸入值後提交,按你的要求,在php層處理輸出提交的內容,那麼可以這樣:
<?php
echo'你的姓名是:'.$_POST['name'];//其中$_POST['name']中存放的是上面表單名為name的值
echo'你今年'.$_POST['age'].'歲';//其中$_POST['age']中存放的是上面表單名為age的值
?>
如果欄位內容很多,有時就可能需要循環處理.
foreach($_POSTas$val){
echo$val;
}
或直接:
print_r($_POST);
當然處理或輸出的格式很多,以上只是一個示例.
㈥ php獲取post參數的幾種方式
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數據
解釋:也就是表單POST過來的數據
方法2、file_get_contents(「php://input」);
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。
php://input 不能用於 enctype=」multipart/form-data」。
解釋:
對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」);來獲取原始數據。
事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。
所以用方法二是最保險的方法。
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。
此變數僅在碰到未識別 MIME 類型的數據時產生。
$HTTP_RAW_POST_DATA 對於 enctype=」multipart/form-data」 表單數據不可用
如果post過來的數據不是PHP能夠識別的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,
比如 text/xml 或者 soap 等等
解釋:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過來的原始數據。
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以後的數據。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST過來的數據取決於centent-Type的設置,即POST數據時 必須顯式示指明Content-Type: application/x-www-form-urlencoded,POST的數據才會存放到 $GLOBALS['HTTP_RAW_POST_DATA']中。
㈦ php中怎麼直接獲取post數據
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數版據權
解釋:也就是表單POST過來的數據
方法2、file_get_contents("php://input");
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。
php://input 不能用於 enctype="multipart/form-data"。
解釋:
對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」);來獲取原始數據。
事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。
所以用方法二是最保險的方法
㈧ PHP怎麼獲取表單提交的數據啊
一、用file_get_contents以get方式獲取內容,需要輸入內容為:
1、<?php
2、$url='http://www.domain.com/?para=123';
3、$html = file_get_contents($url);
4、echo $html;
5、?>
二、用file_get_contents函數,以post方式獲取url,需要輸入內容為
1、<?php
2、$url = 'http://www.domain.com/test.php?id=123';
3、$data = array ('foo' => 'bar');
4、$data = http_build_query($data);
5、$opts = array (
6、'http' => array (
7、 'method' => 'POST',
8、 'header'=> "Content-type: application/x-www-form-urlencoded " .
9、 "Content-Length: " . strlen($data) . " ",
10、 'content' => $data
11、)
12、);
13、$ctx = stream_context_create($opts);
14、$html = @file_get_contents($url,'',$ctx);
15、?>
三、用fopen打開url,以get方式獲取內容,需要輸入內容為
1、<?php
2、$fp = fopen($url, 'r');
3、$header = stream_get_meta_data($fp);//獲取信息
4、while(!feof($fp)) {
5、$result .= fgets($fp, 1024);
6、}
7、echo "url header: {$header} <br>":
8、echo "url body: $result";
9、fclose($fp);
10、?>
四、用fopen打開url,以post方式獲取內容,需要輸入內容為
1、<?php
2、$data = array ('foo2' => 'bar2','foo3'=>'bar3');
3、$data = http_build_query($data);
4、$opts = array (
5、'http' => array (
6、'method' => 'POST',
7、'header'=> "Content-type: application/x-www-form-urlencoded Cookie:cook1=c3;cook2=c4 " .
8、"Content-Length: " . strlen($data) . " ",
9、'content' => $data
10、)
11、);
12、$context = stream_context_create($opts);
13、$html = fopen('http://www.test.com/zzzz.php?id=i3&id2=i4','rb' ,false, $context);
14、$w=fread($html,1024);
15、echo $w;
16、?>
五、用fsockopen函數打開url,以get方式獲取完整的數據,包括header和body,需要輸入內容為
1、?php
2、function get_url ($url,$cookie=false)
3、{
4、$url = parse_url($url);
5、$query = $url[path]."?".$url[query];
6、echo "Query:".$query;
7、$fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30);
8、if (!$fp) {
9、return false;
10、} else {
11、$request = "GET $query HTTP/1.1 ";
12、$request .= "Host: $url[host] ";
13、$request .= "Connection: Close ";
14、if($cookie) $request.="Cookie: $cookie ";
15、$request.=" ";
16、fwrite($fp,$request);
17、while(!@feof($fp)) {
18、$result .= @fgets($fp, 1024);
19、}
20、fclose($fp);
21、return $result;
22、}
23、}
24、//獲取url的html部分,去掉header
25、function GetUrlHTML($url,$cookie=false)
26、{
27、$rowdata = get_url($url,$cookie);
28、if($rowdata)
29、{
30、$body= stristr($rowdata," ");
31、$body=substr($body,4,strlen($body));
32、return $body;
33、}
34、 return false;
35、}
36、?>
㈨ 在PHP中怎麼接收post過來的JSON數據
獲取數據,轉成數組就可以使用了啊:
$jsonData=$_POST['jsonData'];//假設變數名為:jsonData
$jsonData=json_decode($jsonData,true);//轉碼為數組
var_mp($jsonData);//該變數的詳情信息