2013-10-22 54 views
0

我目前正在开发一个cakePHP应用程序,并提出了用大量输入保存表单的问题。通过php POST传递值的替代

我有列A和列B,其中有几个属性(名称,desc,颜色等)的项目,当我将项目从任一列移动到另一个和clic保存(使用POST传递值)它崩溃或故障不保存。

这是由于php的max_input_vars限制金额为1000.我的第一个想法是限制如果输入每个项目的金额,但它仍然存在一个限制。

问题是,有什么好的做法来处理大型表单,例如将这些值保存到数据库中以获得几乎无限的项目/输入?

+0

使用一些客户端代码对这些字段/值对转换成串行化的东西,例如json文本,然后传回单个'data = long_json_text_here'值对。 –

+0

在这一点上,你可能正在处理一个有点复杂的应用程序。如果您有1000个字段,您是否真的想要依赖单个POST,或者您应该考虑AJAX方法日志增量POST并保存字段数据?同样,您可以通过AJAX从表单中发布数据的JSON表示,并仅从原始输入中解码结构。 –

+0

我已经把值放在一个JSON格式,并通过邮寄作为一个变量.....'$ _POST ['myvar'] =='{“color”:“gray”,“lunch”:“taco”} '',然后使用'json_decode()',但我用js/jquery来实现提交。 –

回答

0

改变这从你的php.ini

[suhosin] 

suhosin.post.max_vars = 20000 

suhosin.request.max_vars = 20000 
+0

谢谢你,但事情是我不想修改它,因为在正常的环境中,你不能访问雇用的托管的php.ini,除此之外它还必须存在一个很好的方法来实现它。 – Chrishow