在一个正式项目中操作人员提交239个产品信息进行保存,但是系统却提示没有提交239个产品,于是开启错误信息,显示如下:
Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini
打印下收到的数组,实际上只拿到了112个数据。但是php.ini默认可以接收的表单变量max_input_vars 的值是1000,我连239个都提交不上去,其实原因是每个数据本身还是对象,php认为提交的对象本身一个字段也是一个表单变量。
以下为测试demo:
html:
var prddata = new Array();
for(var i = 0; i < 239; i++) {
var data = {
pid: 0,
offer: 1,
bcode: 1804071680696,
thrsn: '--',
pname: '',
salestat: 10,
issup: 0,
bid: '',
mid: '',
}
prddata.push(data)
}
$.post("test.php",{sid:3816,prddata:prddata}, function(data, status) {
});php:
<?php $prddata=$_POST['prddata']; var_dump($prddata);
解决方法其实非常简单,只需要将prddata的值转换为json发送到后端,这样提交只算1个表单变量,或者你可以设置max_input_vars 的最大值,但是并不推荐,max_input_vars 值太大危害就是影响内存
前公司吃饭是需要在钉钉报餐的,对于不挑剔的我每天都在公司吃饭,有时忘记报餐导致吃不了饭还是很麻烦的。看了下报餐系统需要的是json数据包含我的工号即可。于是编写如下代码,放在360网址监控,1小时执行1次<?php /*自动报餐类*/ class AutoBaocan{...
<?PHP $a=0.5*100; if(is_int($a)){ echo'int'; } else{ echo'not int'; } ...
<?php //高先生简单验证码. //随机数 //为什么循环0-15的数字 //因为要实现最简单的字母和数字混搭 //16进制0-9 a-f //dechex 十进制转换为16进制 //创建一个四位的验证码. //$nmsg.  ...
php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
项目中使用服务来执行webservice,由于对方系统api不稳定,经常导致服务崩溃,只能重启,一个月差不多要重启一次。初期的解决办法是捕获异常,然后continue掉。<?php try { $url = 'http...