在一个网站中,我想实现一个巫师。它应该看起来像一系列的形式。
我的要求是:
你将如何实现它?(一系列http post表单,http获取表单,是否通过javascript提交?)
抽搐:
我计划存储会话中的所有信息,在向导的末尾,将信息保存在数据库中,并删除当前的会话信息。这样,我就能够自动完成字段,并知道用户在哪里完成向导。
我的主要关切是:
发布于 2012-10-12 20:55:54
我不建议将会话用于任意的数据存储!这往往会变得混乱快速,而且如果您最终使用会话进行登录,也会破坏安全模型。将您的设置数据与您的设置数据分开,并专门为设置创建一个表,或者使用javascript localStorage!
在您的例子中,您所描述的内容听起来很像一个长表单,它具有多个表单部分的显示/隐藏功能,并增加了持久存储的怪癖!
换句话说,而不是form1 > form2 > form3 > form4 > done
form_section_1 > validate, save data, and then display form_section_2 and hide form_section_1 > validate, save data, and then display form_section_3 and hide form_section_2 > etc > true form submit once
对于没有javascript的用户,只要在提交任何章节后,就在php中验证他们的信息。您可以将他们的session_id标识的信息存储到一个设置表中,如果您真的想让它存储,即使是在边缘情况下。
为了简单起见,在这个场景中,我将使用localStorage存储每个验证中的所有数据,并使用javascript防止意外离开主表单。如果您真的必须通过支持(比如ie7 ( http://caniuse.com/#search=localStorage ) )来使您的生活复杂化,那么检测localStorage,在没有它的情况下,将数据传递给一个php脚本,然后将其放入一个数据容器对象中,并将其转换为一个json包,以便保存在会话中的单个变量中,或者更好地保存在数据库中的一个设置表中。
发布于 2012-10-12 14:10:01
我将使用PHP会话变量来存储向导不同页面之间填充的数据。通过使用html表单,您将获得重新发送数据的提示,如果您返回浏览器历史记录,我不知道有此修补程序.但是,用PHP来存储变量很容易,给出表单method=post,并使用$_REQUEST命令检索PHP文档中的信息,以避免长URL使用GET。祝你好运,如果我想到什么就会更新。
https://stackoverflow.com/questions/12860718
复制相似问题