Php 存储表单数据

Php 存储表单数据,php,Php,我对php和stackoverflow还比较陌生,但我知道一些基本知识,而且我能很快学会 我脑海中有一个应用程序,它向用户展示一组复选框和单选按钮,每个组位于单独的页面上,并通过菜单到达 e、 g。 国籍 办公室名称 收入概况 他们不必从每个组中进行选择,在进行选择后,他们可以根据自己的选择查询数据库,然后显示数据。我希望他们能够通过重新访问任何选择页面,然后重新查询数据库来调整他们的选择 当他们通过这些选择表格时,我如何最好地存储他们的选择。我是否使用cookie或会话变量?我曾考虑将他们的选

我对php和stackoverflow还比较陌生,但我知道一些基本知识,而且我能很快学会

我脑海中有一个应用程序,它向用户展示一组复选框和单选按钮,每个组位于单独的页面上,并通过菜单到达

e、 g。 国籍 办公室名称 收入概况

他们不必从每个组中进行选择,在进行选择后,他们可以根据自己的选择查询数据库,然后显示数据。我希望他们能够通过重新访问任何选择页面,然后重新查询数据库来调整他们的选择

当他们通过这些选择表格时,我如何最好地存储他们的选择。我是否使用cookie或会话变量?我曾考虑将他们的选择存储在数据库中,但这可能会变得复杂

在这个阶段我只需要指针

谢谢


贾斯汀

我将按照以下方式设计:

创建包含您想要的任何和所有数据的表单。编写PHP,以便如果您提供用户ID(很快就会得到),if可以从数据库查询他们的记录并显示他们保存的所有内容。他们可以随意更改并提交表格。这会更新他们在数据库中的记录,下次他们查看页面时,会显示新信息

提交表单时,应该首先检查它们是否已经存在——如果已经存在,则更新记录——如果没有,则插入记录。您可以在PHP中执行此操作,但也可以通过一个漂亮的mysql语句(在重复密钥更新时插入到…)执行此操作

用户创建帐户时,其登录名/用户名与数据库中的唯一ID绑定。当他们验证这一点(通过再次登录)时,ID被传递给会话变量,以便您可以在任何时候从数据库轻松地访问他们的数据

最后,我建议您在执行此操作时,使用准备好的语句从数据库中获取数据,我建议自己使用PDO,它很好,可以跨数据库兼容,诸如此类。如果您正在寻找良好的安全性,我建议不要直接存储密码,而是将其腌制并保留一个动态验证的哈希。最好立即插入一个半唯一的令牌,这样,如果他们忘记了密码,您可以通过一个链接将其发送给他们进行验证。此外,在cookie中存储用户名/登录名也可以,但永远不要在其中存储密码。事实上,也不要在会话中存储密码——一旦验证了密码,只需存储某种类型的登录标志并进行检查即可

编辑:


如果您能够在流程开始时为用户分配一个唯一的ID(比如说从用户那里收到一封电子邮件),那么您可以给他们一个唯一的ID(或者在必要时使用他们的电子邮件地址),然后您可以从一开始就将数据插入最后一行。Mysql提供了
insert。。。在重复密钥更新时
语法。这意味着您可以在传递的每一页的行中插入数据,在任何时候都可以引用该数据,因为您使用了一个唯一的键,例如他们的电子邮件地址,这将使他们与数据绑定,他们可以输入一些数据,请离开您的网站,稍后再回来填写其余内容。

谢谢您这么快回复。也许我没有我应该说的那么清楚。要查询的数据是只读的,选中的复选框/单选框仅用于建立查询字符串以检索数据。没有存储有关用户的信息。@JustinOakley我不确定我是否遵守了。您正在从数据库中构建数据以查找有关用户的信息,并且您正在从数据库中自动提取数据?查询的确切目的是什么?这是一个多页表单,你想在最后提交吗?是的,这是一个多页表单,我想在最后提交吗?提交只是为了创建sql字符串并显示数据,而不是写入数据库。我还希望用户能够在提交之前或之后调出其中任何一个或多个页面来更改选择。我对显示表单页面、重新访问表单页面以及查询和显示数据的机制没有意见。谢谢