在一个正式项目中操作人员提交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 值太大危害就是影响内存
(1).创建数据库test ,创建表shop(字段id,total),商品id是1,商品总数10 (2).PHP模拟购买,商品数量大于0才能购买<?php //连接数据库 $con=mysqli_connect("192.168.2.18...
如果想在windows中执行php,并且让php脚本在后台运行,可以用下面的cmd命令start /b php D:\wwwroot\default\demo1\run.php例如上面的命令意思后台运行run.php,如果想用php编写异步代码: ...
上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...
当我们使用php爬虫采集网站时经常会遇到内容使用ajax异步加载。一般采取的方案是PHP模拟再请求api接口获取数据,但是有时候前端js加密非常麻烦,我们需要将js的加密方法转换为php方法方便curl请求。当然通过了解我们可以通过3种方案解决。第一种:使用phpv8js扩展执行js代码。(pecl...
(1).php.ini配置允许加载远程文件allow_url_fopen = On(2).创建本地文件invoke.php<?php require('https://blog.5b1.cn/test.txt');(3).创建远程文件https://blog...
有时候我们拿到一个PHP数组变量,想要将这个数组的代码结构复制出来方便调试可以使用,直接将输出结果复制作为定义数组的代码。经常用,但是记不住,我们专门留在博客方便自己查询。<?php $data = [ 'id'=>10001, 'nam...