① php怎麼以post方式發送數據
:用PHP向伺服器發送HTTP的POST請求,代碼如下:<?php/***發送post請求*@paramstring$url請求地址*@paramarray$post_datapost鍵值對數據*@returnstring*/.
② php中超級鏈接如何使用post方法傳遞參數
表單直接傳遞,代碼如下!
創建go.php 文件中的代碼如下!
<?php
@$name=$_POST['name'];
if(!empty($name)){
echo$name;
}else{
echo'<formaction="go.php"method="post">
<inputtype="text"name="name">
<button>提交</button>
</form>';
}
?>
代碼解釋
@$name = $_POST['name'];
@錯誤抑制
1、常見變數$name = post過來的name值
2、empty($name)檢查是否為空,在前面加上!表示不為空,不為空就顯示$name的值
3、為空顯示表單
4、action="go.php"表示表單填寫的值將傳遞到,go.php
5、method="post" 表示傳遞方式為post
6、<input type="text" name="name">文本輸入框
7、<button>提交</button> 提交按鈕
③ PHP中怎樣發送post請求並獲取網頁
$post='POST數據';
//初始化
$curl=curl_init('URL');
$header=array();
$header[]='User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/42.0.2311.90Safari/537.36';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不輸出header頭信息
curl_setopt($curl,CURLOPT_HEADER,0);
//保存到字元串而不是輸出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post數據
curl_setopt($curl,CURLOPT_POST,1);
//請求數據
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
//是否抓取跳轉後的頁面
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
$response=curl_exec($curl);
curl_close($curl);
echo$response;
④ PHP如何通過Post請求發送Json數據
首先要把數據轉換成json格式,再通過curl方法調用介面並傳參數
代碼如下:
$keyword=urlencode($_POST['keyword']);
$parameters=json_encode(array('keyWord'=>$keyword,'areaCode'=>'*'));
$post_data['appToken']="323ds7674354fds32fdsda60173";//隨便寫的
$post_data['parameters']=$parameters;
$url='http://serde.com/compadddvd/index';//隨便寫的
$ch=curl_init();
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);//用post方法傳送參數
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$response=curl_exec($ch);
curl_close($ch);
之後就返回數據即可。
⑤ php如何接收別的伺服器post過來的數據 - 技術問答
通常情況下用戶使用瀏覽器網頁表單向伺服器post提交數據,我們使用PHP的$_POST接收用戶POST到伺服器的數據,並進行適當的處理。但有些情況下,如用戶使用客戶端軟體向服務端php程序發送post數據,而不能用$_POST來識別,那又該如何處理呢?
我們介紹php接受post數據的三種方式:
1.$_POST方式接收數據
$_POST方式是通過 HTTP POST 方法傳遞的變數組成的數組,是自動全局變數。如使用$_POST[『name』]就可以接收到網頁表單以及網頁非同步方式post過來的數據,
即$_POST只能接收文檔類型為Content-Type: application/x-www-form-urlencoded提交的數據,也就是表單POST過來的數據。
2.$GLOBALS[『HTTP_RAW_POST_DATA』]方式接收數據
但$GLOBALS[『HTTP_RAW_POST_DATA』]中是否保存POST過來的數據取決於centent-Type的設置,只有在PHP在無法識別的Content-Type的情況下,才會將POST過來的數據原樣地填入變數$GLOBALS[『HTTP_RAW_POST_DATA』]中,像Content-Type=application/x-www-form-urlencoded時,該變數是空的。
另外,它同樣無法讀取Content-Type為multipart/form-data的POST數據,也需要設置php.ini中的always_populate_raw_post_data值為On,PHP才會總把POST數據填入變數$http_raw_post_data。
3.php://input方式接收數據
如果訪問原始 POST 數據的更好方法是 php://input。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://input讀取不到$_GET數據。是因為$
⑥ PHP。POST請求的問題
最簡單的話就是使用session保存,其次可以把數據存儲在資料庫里,或者文件里,然後在register.php里查詢。
原生session使用方法
session_start();
//賦值
$_SESSION["Session名稱"]=變數或字元串信息;
//使用
$_SESSION["Session名稱"];
⑦ 求助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);
⑧ $.post怎麼寫
1、從html中獲取
模板中加上{% csrf_token %},csrfmiddlewaretoken參數值為模板中元素名稱csrfmiddlewaretoken的元素內容
var csrftoken = $("[name='csrfmiddlewaretoken']").val();
$.post('/order_submit/', {
'name': 'james',
'age': 18,
'csrfmiddlewaretoken': csrftoken
function(data) {}
2、從cookie中獲取
cookie中含有csrftoken值,就是csrfmiddlewaretoken參數值
var csrftoken = document.cookie.match(/csrftoken=w+/g)[0].split('=')[1];
$.post('/order_submit/', {
'name': 'james',
'age': 18,
'csrfmiddlewaretoken': csrftoken
}, function(data) {})
(8)phppost非同步請求數據擴展閱讀:
ost() 方法通過 HTTP POST 請求從伺服器載入數據。
語法:jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
參數及其描述如下:
url:必需。規定把請求發送到哪個 URL。
data:可選。映射或字元串值。規定連同請求發送到伺服器的數據。
success(data, textStatus, jqXHR):可選。請求成功時執行的回調函數。
dataType:可選。規定預期的伺服器響應的數據類型。
智能判斷(xml、json、script 或 html)。
該函數是簡寫的 Ajax 函數,等價於:
$.aja({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType});
⑨ php模擬登陸,通過post請求數據時候,具體用那些函數才能實現獲取數據
通過php的POST方法,比如你想獲取前台頁面name='test'的input標簽里的內容
那麼在php裡面應該寫$_POST['test']
$_POST['test']就是前台頁面name='test'的input標簽對應的值
⑩ 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']中