来自Post的PHP数据
我有一个函数,它从来自Post的PHP数据,php,html,http-post,Php,Html,Http Post,我有一个函数,它从$\u POST返回json编码的响应: function getdatafrompost(){ $raw = ''; $httpContent = fopen('php://input', 'r'); while ($kb = fread($httpContent, 1024)) $raw .= $kb; fclose($httpContent); $params = array(
$\u POST
返回json编码的响应:
function getdatafrompost(){
$raw = '';
$httpContent = fopen('php://input', 'r');
while ($kb = fread($httpContent, 1024))
$raw .= $kb;
fclose($httpContent);
$params = array();
parse_str($raw, $params);
if (isset($params['data']))
$retdata = json_decode(stripslashes($params['data']));
else
$retdata = json_decode(stripslashes($raw)); <====Returns Null
return $retdata;
}
函数getdatafrompost(){
$raw='';
$httpContent=fopen('php://input","r",;
而($kb=fread($httpContent,1024))
$raw.=$kb;
fclose($httpContent);
$params=array();
parse_str($raw,$params);
if(isset($params['data']))
$retdata=json_解码(带斜杠($params['data']);
其他的
$retdata=json_decode(stripslashes($raw));您不应该使用
stripslashes
,这将影响json文档的有效性,以修复您应该替换的错误
json_decode(stripslashes($raw))
与
范例
$raw = '{"recordid":"099ac8aa-0a43-11e2-860f-0016177c526f","ntsdataid":"","trkdataid":"5628af8e-08db-11e2-860f-0016177c526f","activitydate":"2012-09-29","activitytime":"10:36:21","activityname":" from S. Interrante","activitynote":"<i><font color=\"99CC00\" size=\"4\"><b><font face=\"verdana\">fgsdfgsdgsdfgsdgsdgsdfg</font>\u200b</b></font></i>"}' ;
var_dump(json_decode($raw));
$raw='{“recordid”:“099ac8aa-0a43-11e2-860f-0016177c526f”,“ntsdataid”:“trkdataid”:“5628af8e-08db-11e2-860f-0016177c526f”,“activitydate”:“2012-09-29”,“activitytime”:“10:36:21”,“activityname”:“来自S.Interrante”,“activitynote”:“FGSDGSDGG\U200SDB”;
变量转储(json解码($raw));
输出
object(stdClass)[1]
public 'recordid' => string '099ac8aa-0a43-11e2-860f-0016177c526f' (length=36)
public 'ntsdataid' => string '' (length=0)
public 'trkdataid' => string '5628af8e-08db-11e2-860f-0016177c526f' (length=36)
public 'activitydate' => string '2012-09-29' (length=10)
public 'activitytime' => string '10:36:21' (length=8)
public 'activityname' => string ' from S. Interrante' (length=19)
public 'activitynote' => string '<i><font color="99CC00" size="4"><b><font face="verdana">fgsdfgsdgsdfgsdgsdgsdfg</font>​</b></font></i>' (length=105)
对象(stdClass)[1]
公共“recordid”=>字符串“099ac8aa-0a43-11e2-860f-0016177c526f”(长度=36)
公共“ntsdataid”=>字符串“”(长度=0)
公共“trkdataid”=>字符串“5628af8e-08db-11e2-860f-0016177c526f”(长度=36)
公共“活动日期”=>string“2012-09-29”(长度=10)
公共“活动时间”=>字符串“10:36:21”(长度=8)
来自S.Interrante的公共“activityname”=>string”(长度=19)
公共“活动注释”=>字符串“fgsdfgsdgsdfgsdgsdgsdfg”(长度=105)
$raw = '{"recordid":"099ac8aa-0a43-11e2-860f-0016177c526f","ntsdataid":"","trkdataid":"5628af8e-08db-11e2-860f-0016177c526f","activitydate":"2012-09-29","activitytime":"10:36:21","activityname":" from S. Interrante","activitynote":"<i><font color=\"99CC00\" size=\"4\"><b><font face=\"verdana\">fgsdfgsdgsdfgsdgsdgsdfg</font>\u200b</b></font></i>"}' ;
var_dump(json_decode($raw));
object(stdClass)[1]
public 'recordid' => string '099ac8aa-0a43-11e2-860f-0016177c526f' (length=36)
public 'ntsdataid' => string '' (length=0)
public 'trkdataid' => string '5628af8e-08db-11e2-860f-0016177c526f' (length=36)
public 'activitydate' => string '2012-09-29' (length=10)
public 'activitytime' => string '10:36:21' (length=8)
public 'activityname' => string ' from S. Interrante' (length=19)
public 'activitynote' => string '<i><font color="99CC00" size="4"><b><font face="verdana">fgsdfgsdgsdfgsdgsdgsdfg</font>​</b></font></i>' (length=105)