大家好!
最近偶然遇到一個問題,因為我的程式中,送出值常常會用到陣列,例如:
 
<input name="jvalue[name][]" value="">
<input name="jvalue[addr][]" value="">
<input name="jvalue[tel][]" value="">



然後再加上jQuery 生成多個欄位,有時候因應客戶需求,陣列可能超過百個欄位。
這時候我就發現一個問題,居然有送出之後直接失效然後也不知道為什麼,也就是說連功能都沒有執行,用瀏覽器除錯模式仔細檢查才發現送出的值只有送出一半,後面都消失了!才發現到原來 PHP 是有這個 max_input_vars 這設定的
 
可以參考這邊:
 
與PHP官方說明:
 
基本上只要是接收值都會受到此數值的限制,而且不一定是陣列,過多的變數也是會造成這種錯誤,
解決方式:
 
1. 提高 max_input_vars 的設定值
2. 把送出值盡量整合成一個值,例如 json 格式
 
給大家參考囉,感恩!