【问题标题】:Sessions in CodeigniterCodeigniter 中的会话
【发布时间】:2010-11-16 15:59:32
【问题描述】:

我正在使用会话来存储我的多步骤表单中的数据,这样当用户完成表单的所有三个部分时,信息就会被插入到数据库中。我已经构建了表单,以便用户可以返回任何阶段并修改他们提交的信息,但问题是,重新填充表单的值存储在会话中,因此如果用户离开表单页面并转到其他地方网站,然后返回表单信息仍然在表单中……有没有更好的方法来做到这一点?如果他们离开表格,我希望数据被销毁......

谢谢

【问题讨论】:

    标签: session codeigniter


    【解决方案1】:

    假设您的表单仅存在于一个控制器中并且没有分布在多个控制器中,您可以简单地取消设置每个其他控制器的 __construct 中的所有会话值。 (如果您有很多东西可以省去向很多人添加此功能的麻烦,您可以扩展基本控制器。

    这样,如果用户访问另一个部分,这些值将会丢失,但如果它们保持在“表单”内,它们可以保持不变。

    【讨论】:

    • 不错的解决方案 - 是的,我的表单是一个控制器,所以我可以这样做,谢谢。
    【解决方案2】:

    你可以使用 JavaScript 和 unload 事件,但它会很棘手,因为 unload 可能会随着表单的每个“部分”触发。

    【讨论】:

    • javascript 也不是 100% 可靠的,因为它可以被禁用,如果数据敏感等可能是个问题
    • 我完全同意,但这是惯例。
    猜你喜欢
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2011-01-01
    • 2013-03-07
    • 2011-09-02
    相关资源
    最近更新 更多