Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据库存储与Cookie-从数据存储_Php_Mysql_Codeigniter_Session_Cookies - Fatal编程技术网

Php 数据库存储与Cookie-从数据存储

Php 数据库存储与Cookie-从数据存储,php,mysql,codeigniter,session,cookies,Php,Mysql,Codeigniter,Session,Cookies,大家好 我有一个表单,大约有90到100个字段,分为子表单,每次显示表单时都使用ajax加载这些子表单。但是我希望在每次加载子表单时都保留表单字段上的数据,比如说在意外页面刷新时,或者即使用户在子表单之间切换。这样做的最佳方式是什么 我在想我可以把它储存在cookies中,或者说储存在数据库中。但是,将其存储在数据库中意味着每次加载子表单时,我都必须查询字段数据。同样,如果是cookie,它必须读取存储在cookie文件中的数据。我需要一些帮助来决定什么是最有效的方法,更重要的是速度 其中最好的

大家好

我有一个表单,大约有90到100个字段,分为子表单,每次显示表单时都使用ajax加载这些子表单。但是我希望在每次加载子表单时都保留表单字段上的数据,比如说在意外页面刷新时,或者即使用户在子表单之间切换。这样做的最佳方式是什么

我在想我可以把它储存在cookies中,或者说储存在数据库中。但是,将其存储在数据库中意味着每次加载子表单时,我都必须查询字段数据。同样,如果是cookie,它必须读取存储在cookie文件中的数据。我需要一些帮助来决定什么是最有效的方法,更重要的是速度

其中最好的方法是什么,或者是否有任何其他可能在每次加载子表单时保留子表单中的字段数据,这些子表单每次都是通过AJAX加载的

我正在使用PHP和Codeigniter框架


谢谢

这样的表单需要持久存储。我会考虑会话状态来平滑子窗体加载,每当用户更新某个结果时,都会向数据库写入。就我个人而言,我会从一个只支持数据库的解决方案开始,然后在性能有问题的情况下添加会话状态

Cookie不是用来存储大量数据的。即使这是可能的,他们也会在请求时大量膨胀,想象每一个请求都会传输100个表单字段


浏览器中的本地存储也是一种选择,虽然我会先考虑其他选项。

< P>这样的表单需要持久存储。我会考虑会话状态来平滑子窗体加载,每当用户更新某个结果时,都会向数据库写入。就我个人而言,我会从一个只支持数据库的解决方案开始,然后在性能有问题的情况下添加会话状态

Cookie不是用来存储大量数据的。即使这是可能的,他们也会在请求时大量膨胀,想象每一个请求都会传输100个表单字段


浏览器中的本地存储也是一种选择,虽然我将首先考虑其他选项。

< P>我将首先使用序列化:

简化它。
$data = serialize(array_merge($_POST,$olddata));
那么这对你来说就足够了,但是现在它非常容易存储在任何地方,因为它只是一个字符串。要将其改造为原始状态:

$data = unserialize($data);

。。无论您最终从何处获取它—数据库、会话等。

我首先使用serialize简化它:

$data = serialize(array_merge($_POST,$olddata));
那么这对你来说就足够了,但是现在它非常容易存储在任何地方,因为它只是一个字符串。要将其改造为原始状态:

$data = unserialize($data);
。。无论您最终从何处提取它—数据库、会话等。

它也可以从其他计算机访问 您可以存储比cookie多得多的数据 椎体 若您使用ajax检索数据,它会在服务器上带来更多负载

饼干 比数据库更快—无需查询、获取和所有进程。 椎体 有限的空间

但是,您可以使用本地存储

所以答案是数据库存储 它也可以从其他计算机访问 您可以存储比cookie多得多的数据 椎体 若您使用ajax检索数据,它会在服务器上带来更多负载

饼干 比数据库更快—无需查询、获取和所有进程。 椎体 有限的空间

但是,您可以使用本地存储


所以答案是数据库存储

是的,我对cookies也有同样的感觉。是的,我对cookies也有同样的感觉。在客户端执行。Sisyphus是一个很好的工具,它使用本地存储。我希望我能接受Tim和Marshall的两个答案,他们都很棒。非常感谢。在客户端执行。Sisyphus是一个很好的工具,它使用本地存储。我希望我能接受Tim和Marshall的两个答案,他们都很棒。非常感谢。