根据NAME自动将POST JSON分配给变量

时间:2011-10-15 03:20:52

标签: php json

使用找到的代码here我将输入字段发布到php脚本。结果看起来像这样

 data:{
"textfield": ["",""],
"dropdown": ["option1","option1"],
"siteTitle":"this is the site title",
"siteKey":"",
"siteurl":"",
"address1":"",
"address2":"",
"address3":"",
"landline":"",
"method":"addSite",
"small-input":"",
"medium-input":"",
"large-input":""
}

我使用以下内容摘下每个字段。

 $data = $_POST['data'];
 $data =stripslashes($data);
 $obj = json_decode($data); 
 $siteTitle = sanitize($obj->siteTitle);
 if (!$siteTitle){echo json_encode(array("msg"=> "Site title missing"));break;}

php中是否有办法自动逐步发布每个发布的field并根据name将其分配给变量?

对于关注Déjàvu的人,don't be.

2 个答案:

答案 0 :(得分:1)

$obj = json_decode($data);
foreach($obj as $key => $val)
{
    $$key = $val;
}
var_dump($method); // 'addSite'

答案 1 :(得分:0)

你可以这样做:

$array = json_decode($json, true);
extract($array);

但让我强烈鼓励您这样做。这是非常懒惰的编程,让你的脚本开放给变量注入攻击,并且基本上试图在其“register_global默认为”臭名昭着的日子里重新创建PHP的可怕愚蠢的错误时期。