使用PHP开发的一个项目,在测试阶段客户反馈说数据没有保存成功
而我之前测试是通过的,但按客户的信息上却重现了问题
问题是这样的
客户通过浏览器进行保存,但有些数据已经保存成功,但某些数据却没有保存成功
而我通过测试发现$_POST 某些数据竟然没有,但有些是有的
而file_get_contents("php://input");这种方式也可以获取数据,但因为数据需要进行处理,加上代码需要做不少改动
所以考虑下来还是要解决$_POST的问题
一开始我也是很纳闷,之前遇到的都是$_POST全部无法获取的问题,但只能获取部分信息还是头一次遇到
既然$_POST是能提交数据的,那么要不就是提交前部分数据没有发送到后台,要么就是后台没有收到
而通过查看浏览器的请求并没有发现有什么问题,所有数据都是正常发送的
那么就是后台没有获取到了
在我一遍测试中发现,我把提交的数据手动进行了删除,然后再提交
后台$_POST就能获取到全部的数据了,而后又在网上进行了搜索
才发现$_POST提交的数据有大小限制的
然后将php.ini里max_input_vars 更改为5000完美解决
参考:
深入剖析PHP输入流 php://input与POST/GET的区别
PHP获取POST数据的几种方法汇总
POST提交数据达到大小限制时,无法成功提交数据的解决办法!
修改php POST最多提交1000条数据的限制