在站点之间切换时保存表单数据

时间:2013-12-09 12:46:10

标签: php html mysql ajax forms

在我的网上商店,我有一个非常大的形式。它包含数百种产品的数据和照片,因此我不想在一个网站上显示所有内容。相反,产品将分为几类。

当用户完成从一个类别中选择产品并切换到另一个类别时,我希望保存所有类别的所有选择数据。 最简单,最有效的方法是什么? 将其保存在$_SESSION?在数据库中通过PHP?在数据库中通过Ajax/PHP

我发现的所有答案都涉及单一表格或带购物车的网上商店。我的商店介于两者之间。

旁注:我还不擅长ajax,所以我宁愿避免使用它,即使我认为它可能是最优雅的解决方案

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

这取决于您希望如何帮助您的客户或潜在客户。

我认为可以肯定地说,这里有两个大的对立面。你有一方面是宾客,另一方面是用户。根据您的网站允许的功能,您可以采取更具体的方法。

如果您正在与100%来宾用户群合作,我认为最好将所有内容存储在$_SESSION

另一方面,如果你和大多数用户一起工作,你必须让你的记忆比汽化的$ _SESSION更稳定。在这种情况下,我会选择一个数据库,将您的用户链接到他们感兴趣的项目。

最后一个选项对于jQuery也是可行的,可以防止页面之间出现大量负载。

编辑: 无论你选择什么,都要考虑AJAX。它起初也让我害怕死亡,但它确实很直接,而且非常强大。

希望这会对你有帮助!

答案 1 :(得分:0)

你应该使用Session。 Session用于存储会话数据,这确实是会话数据。 我认为MySQL数据库过载了!

档案a.php

<?php
// file a.php
// ...
// do some form output
echo '<form action="b.php" method="POST"> ... </form>';
?>

文件b.php

<?php
session_start();
// do some session id get / set...
// ...
// fetch data and store
// make sanity checks (e.g. check if there are sql-injections)
$_SESSION['user_choice_cat_xy'] = mysql_real_escape_string($_POST['user_choice_field']);
// Output cat b
echo '<form action="c.php" method="POST">...</form>'
?>