php所有post數據
Ⅰ php接收post數據
post格式 不是 標準的格式
嘗試使用 file_get_contents("php://input")
試試讀取 post的raw,然後看看 post請求是不是標準的 MIME 或者 是8進制等等
默認表單 要遵循 application/x-www-form-urlencoded 格式 php的 全球預定變數 $_POST數組才能讀取。
Ⅱ php接收POST數據並循環輸出的代碼
在php中,表單POST提交的數據是存放在$_POST變數中.$_POST變數是一個數組,它是一個以表單欄位名作索引的數組.比如有以下表單:
<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 對所有的 GET,POST 和 COOKIE 數據自動運行 addslashes()
默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes()。 不要對已經被 magic_quotes_gpc 轉義過的字元串使用 addslashes(),因為這樣會導致雙層轉義。遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。 也就是說,你在做無用功。
Ⅳ php接收post數據要怎麼弄
頁面A 向B頁面post數據
A頁面: name="add" value="1"
B頁面:
static $num;
if( istset($_POST['add']) && $_POST['add']){
//比如將計數記錄在$num
$num = $num++;
}
Ⅵ php 接收到之後post數據寫入資料庫
form表單demo:task.html
<fieldset id="setFiled">
<legend>發布任務</legend>
<form action="registr.php" method="post" id="steForm">
<label>任務類型:</label><br>
<input type="text" name="type" id="taskType" placeholder="請選擇任務類型"/><br>
<label>酬 金:</label><br>
<input type="number" name="money" id="forMoney" min="1" max="1000"/><label>元</label><br>
<label>截止時間:</label><br>
<input type="datetime" name="time" id="timeSubmit"/><span data-year="" data-month="" data-date="" id="showDate"></span><br>
<label>詳細描述:</label><br>
<textarea maxlength="512" name="textAray" id="msgArea"></textarea><br>
<input type="submit" name="subMit" id="forSub" value="點擊發布" />
</form>
(6)php所有post數據擴展閱讀
php接收POST數據的三種方式
1、$_POST 方式接受數據
$_POST 方式是由通過HTTP的POST方法傳遞過來的數據組成的數組,是一個自動全局變數。
註:只能接收Content-Type:application/x-www-form-urlencode提交的數據。也就是只能接收表單過來的數據。
2、GLOBLES[『HTTP_RAW_POST_DATA』]
如果訪問原始POST數據不是php能夠識別的文檔類型,比如:text/xml 或者soap等等,可以用$GLOBLES[『HTTP_RAW_POST_DATA』]來接收,$HTTP_RAW_POST_DATA變數包含有原始POST數據。此變數僅在碰到未識別的MIME數據時產生。
註:$HTTP_RAW_POST_DATA對於enctype=」multipart/form-data」表單數據不可用,也就是說使用$HTTP_RAW_POST_DATA無法接受網頁表單post過來的數據。
3、file_get_contents(「php://input」);
如果訪問原始POST數據,更好的方法是使用file_get_content(「php://input」);對於未指定Content-Type的POST數據,可以使用該方法讀取POST原始數據,包括二進制流也可以和$HTTP_RAW_POST_DATA比起來。它帶來的生存眼裡更小,並且不需要任何特殊的php.ini設置。
註:php://input不能用於 enctype=」multipart/form-data」
例如:$postStr = file_get_contents("php://input"); //獲取POST數據
Ⅶ php函數裡面怎麼獲取post過來的值
使用$_POST獲取post得到的值。
$post_data=$_POST;//獲取所有的POST數據,是一個數組
$field=$_POST['name'];//根據html中的name值得到某一項具體的值
Ⅷ 求助PHP如何POST提交數據
用PHP向伺服器發送HTTP的POST請求,代碼如下:
<?php
/**
*發送post請求
*@paramstring$url請求地址
*@paramarray$post_datapost鍵值對數據
*@returnstring
*/
functionsend_post($url,$post_data){
$postdata=http_build_query($post_data);
$options=array(
'http'=>array(
'method'=>'POST',
'header'=>'Content-type:application/x-www-form-urlencoded',
'content'=>$postdata,
'timeout'=>15*60//超時時間(單位:s)
)
);
$context=stream_context_create($options);
$result=file_get_contents($url,false,$context);
return$result;
}
使用的時候直接調用上面定義的send_post方法:
$post_data=array(
'username'=>'username',
'password'=>'password'
);
send_post('網址',$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 如何保存/列印 整個Http請求頭和附帶的post數據
你在文件中添加phpinfo();語句,這個語句顯示所有的變數值,你仔細閱讀輸出內容,會有啟發的。
POST提交的所有數據在$_POST數組裡面。