php 数据提交失败,PHP多表单提交,数据丢失导致提交失败的原因和解决方法

在一个质量核查的项目中,有一项添加核查数据的功能,比较简单就是提交表单数据到后台,处理一下存进数据库就可以了,但是!在本地测试听正常的情况下,放到了服务器上面,却出现了一些问题,在提交的数据超过三十条的时候,后台接收的数据缺失了,少了一部分,这就很难受,然后我就直接判定是服务器设置问题,应该是服务器设置的json提交数据最大值问题,这里用的服务器环境是windows 2008R2 iis服务器,在 web.config文件中设置

OK设置完成,继续提交测试,结果却是完全没有效果,太难了。然后思路断了,不知道怎么解决,找了很多文档也没有解决思路,最后的最后,看着数据越看越奇怪,如果是json数据被截断了只发送了一般的话,php后台接收的数据应该格式不正确才对,格式不正确怎么还能转换成数组格式的数据打印。接着就去页面查看提交的数据,自己计算了一下如果重复的字段名也算一个字段的话,那么提交的数据字段大概正好在1000个字段的时候断掉了,所以提交的数据不全,但是还能打印出来正确的格式,很明显,不是json数据最大值的问题,而是表单提交最大变量值的问题,一直认为他们的name名称都是一样的,所以跟这个最大变量值应该没关系,现在才算知道用ajax提交的表单,一个input就是一个变量值,PHP默认的是1000最大值,所以出现了这种情况。

6fb0edfa36d3e185672264daa146430b.png

如何查看提交了多少表单数据,最方便的方法就是打开控制台,在NETWORK中找到你提交表单的连接,如上图。在右边的headers中就有表单数据FormData,我这提交了一条数据input的变量就是26个,所以提交超过20条数据就会报错,知道了问题所在,解决起来就非常快了,直接修改php.ini文件中的 max_input_vars,默认的是1000,这里根据项目需要自行调整就可以了。修改完后重启服务再次提交表单,没有报错,数据也没有丢失,完美解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值