在一个正式项目中操作人员提交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 值太大危害就是影响内存
【一】.抽象类假设如下场景:团队准备开发某网站,表建好了,页面设计好了.A组负责开发底层数据库操作类(DB),B组负责调用DB类.但是此时A组发生了争执,MySQL? Oracle? DB2? sqlite?到底使用什么数据库?B组.... 进入漫长的等待.解决方法:A组和B组 先定1个数据库类的模...
Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...
最近在公司开发一个新的项目假设项目域名是a.com,需要接入b.com的单点登陆系统。(1).首先我们会在a.com的登陆页面用iframe引入b.com来显示登陆界面,实际上登陆验证操作都是在b.com上面(2).当b.com验证通过,会在前端ajax请求a.com的回调地址,这个回调地址目的就是...
<?php /** * @throws Exception */ function curl() { throw new \Exception('err...
断点下载的原理:http请求头添加Range参数告诉文件服务器端需要的字节范围例如1个文本文件的字节为1000,第一次请求Range: bytes=0-500第二次请求Range: bytes=501-1000通过每次的请求将返回的流追加写入到文件。注意的项目:断点下载服务器端的每次只返回字节传输的...
整理一个自己用的编码转换方法,不需要知道原字符串的编码,只需要传入字符串,和你想要转换的编码。/** * 编码转换 * @param string $char * @param string $...