PHP中使用php://input处理相同name值的表单数据
发布时间:2020-12-12 20:40:20 所属栏目:PHP教程 来源:网络整理
导读:在去年10月份,我在博客中分析了,当时说的方案是为把name值改成数组类型,php接收到之后,再对数组进行合并处理。这样做的缺点就是不完全兼容前台表单,用户必须要对表单作出更改,而系统需求是所有升级对用户完全透明,所以说这种方式还是不够完美。 经过
在去年10月份,我在博客中分析了,当时说的方案是为把name值改成数组类型,php接收到之后,再对数组进行合并处理。这样做的缺点就是不完全兼容前台表单,用户必须要对表单作出更改,而系统需求是所有升级对用户完全透明,所以说这种方式还是不够完美。 经过差不多一年时间的沉淀,发现php提供原始的访问的方法,POST的数据可以通过php://input来获取: 代码如下: 所以用php获取相同name值的表单数据的思路可以是这样,1,通过php://input获取原始的POST数据; 2,对数据进行处理合并; 3,重新把处理过的值赋给系统变量$_POST; 下面是定义的一个函数: $value){
//获取POST的KEY和Value值
$postname=urldecode(substr($value,stripos($value,"=")));
$postvalue=urldecode(substr($value,(stripos($value,"=")+1)));
//对KEY值和Value值进行处理
//去空格和[]
$postname=trim($postname,',[,]');
$postvalue=trim($postvalue);
if(array_key_exists($postname,$POST)){
$POST[$postname]=$POST[$postname].",".$postvalue;
}else{
$POST[$postname]=$postvalue;
}
}
return $POST;
}
接下来只要在需要的地方使用”$_POST=GET_SUBMIT()”,后面就可以通过$_POST来获取处理之后各个表单的数据。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |