重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
php直接用全局變量$_POST來接收post參數
專注于為中小企業提供成都做網站、成都網站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業長興免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上1000+企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
比如:前端input name ="username" value="123" type="text"/
參數username通過post傳參數到服務器,php以$_POST['username']來接收
在php的配置文件里,有一個開關叫做:register_globals,如果是on,則post提交以后,直接用$字段,就可以取到post的值了,出于安全性考慮,這個開關在新版的php里默認是關閉的,當這個開關是關閉的時候,你可以用以下的代碼來模擬這個效果:
if(!ini_get('register_globals')){
extract($_POST);
extract($_GET);
}
POST都是以key-value的形式傳過來的。所以分兩種情況:\x0d\x0a如果事先知道key,可以用$_POST['your_key']取到值。\x0d\x0a如果事先不知道key,可以遍歷$_POST變量:\x0d\x0aforeach($_POST as $key=$val) {\x0d\x0a echo $key.": ".$val."
\n";\x0d\x0a}
form表單demo:task.html
fieldset id="setFiled"
legend發布任務/legend
form action="registr.php" method="post" id="steForm"
label任務類型:/labelbr
input type="text" name="type"? id="taskType" placeholder="請選擇任務類型"/br
label酬nbsp;nbsp;金:/labelbr
input type="number" name="money" id="forMoney" min="1" max="1000"/label元/labelbr
label截止時間:/labelbr
input type="datetime" name="time" id="timeSubmit"/span data-year="" data-month="" data-date="" id="showDate"/spanbr
label詳細描述:/labelbr
textarea maxlength="512" name="textAray" id="msgArea"/textareabr
input type="submit" name="subMit" id="forSub" value="點擊發布" /
/form
擴展資料
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數據