我正在使用会话来存储来自多步表单的数据,这样当用户完成表单的所有三个部分时,信息就会被插入到数据库中。我已经构建了表单,以便用户可以返回到任何阶段并修改他们提交的信息,但事情是,重新填充表单的值存储在会话中,因此如果用户离开表单页面并转到其他位置该网站,然后返回到表格信息仍然在表格中...是否有更好的方法来做到这一点?如果他们离开表格,我希望数据被销毁......
谢谢
答案 0 :(得分:1)
假设您的表单仅存在于一个控制器中且不分布在多个控制器中,您可以简单地取消设置所有其他控制器的__construct
中的所有会话值。 (如果你有很多方法可以省去向许多人添加这个功能的麻烦,你可以扩展基本控制器。
如果用户访问另一个部分,那么这些值将会丢失,但如果它们保留在“表单”中,则它们可以保持不变。
答案 1 :(得分:0)
你可以使用JavaScript和卸载事件,但它会证明是棘手的,因为卸载可能会触发表单的每个“部分”。