php提交post数组参数实例分析


Posted in PHP onDecember 17, 2015

本文实例分析了php提交post数组参数的用法。分享给大家供大家参考,具体如下:

首先php中要想从页面传送数组到服务端a,要在页面上多个空间同名,而且对于名称有要求,那就是 name="aa[ ]",注意这里要多加一个数组的符号,这样才能在服务端a取到

$_POST[aa]

得到的为数组。

更深一层的问题是,假设我现在需要对post中的参数进行处理后,再传送给另外一个服务端,对于参数aa,应该怎么传递呢?

如果不做什么处理,拼装完post请求后,服务端b获取到的永远只是Array,无法取到实际值。

现在的解决方案是:现在服务端a进行序列化,然后在服务端b接收后进行反序列化。这样反序列化后的值就是一个数组了,和a段获取到的一样。

序列化

$_POST["aa"] =serialize($_POST[aa]);

反序列化
$a = "a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}";
var_dump(unserialize($a));

结果是什么呢:

array(2) {
 [0]=>
 string(1) "1"
 [1]=>
 string(1) "2"
}

而在post中获取到的序列化后的参数是有进行添加过转义符的,获取后需要去掉,然后才能反序列化成功

$bb = $_POST["aa"];
$bb = str_replace("\\", '', $bb);
var_dump(unserialize($a));

好了,这样才是你要的结果。

当然,还有一种问题是,你可以直接把数组值传递给页面的某一空间,提交给服务端。这种情况同样需要序列化和反序列化。

页面

<input type="hidden" name="aa" value="<?php echo base64_encode(serialize($array));?>" />
var_dump(base64_decode(unserialize(<pre class="html" name="code">{1}</pre><br>POST['post_data'])));

不知道加了这个base64_encode有什么作用,貌似是给中文编码的吧? 

希望本文所述对大家php程序设计有所帮助。

PHP 相关文章推荐
比较简单的百度网盘文件直链PHP代码
Mar 24 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 PHP
php将字符串全部转换成大写或者小写的方法
Mar 17 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
PHP的mysqli_stat()函数讲解
Jan 23 PHP
php实现session共享的实例方法
Sep 19 PHP
如何通过PHP实现Des加密算法代码实例
May 09 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
Dec 17 #PHP
PHP响应post请求上传文件的方法
Dec 17 #PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
Dec 17 #PHP
通过PHP简单实例介绍文件上传
Dec 16 #PHP
PHP上传文件参考配置大文件上传
Dec 16 #PHP
谈谈 PHP7新增功能
Dec 16 #PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 #PHP
You might like
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
PHP 压缩文件夹的类代码
2009/11/05 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
python简单获取数组元素个数的方法
2015/07/13 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
Python实现以时间换空间的缓存替换算法
2016/02/19 Python
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
python K近邻算法的kd树实现
2018/09/06 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
电子商务个人自荐信
2013/12/12 职场文书
水电工岗位职责
2014/02/12 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
民主生活会发言材料
2014/10/20 职场文书
体育教师个人总结
2015/02/09 职场文书
事业单位聘任报告
2015/03/02 职场文书
2015大一新生军训感言
2015/08/01 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB