2010-11-16 156 views
0

我正在使用會話來存儲來自多步驟表單的數據,以便當用戶完成表單的所有三個部分時,信息將被插入到數據庫中。我已經構建了表單,以便用戶可以返回到任何階段並修改他們提交的信息,但是,重新填充表單的值存儲在會話中,因此如果用戶離開表單頁面並轉到其他位置該網站,然後返回到形式的信息仍然在形式...有沒有更好的方式來做到這一點?我想,如果他們離開表單中的數據被破壞......Codeigniter中的會話

感謝

回答

0

,你可以使用JavaScript和卸載事件,但它會證明棘手,因爲卸載可以與各個形式的「部分」開火。

+0

也javascript是不是100%可靠,因爲它可以被禁用,可能是一個問題,如果數據是敏感的等 – Ross 2010-11-16 16:18:44

+0

我完全同意,但它是常見的做法 – 2010-11-16 17:36:00

1

假設您的表單只存在於一個控制器中,並且不會跨越多個控制器,您可以簡單地取消設置每個其他控制器的__construct中的所有會話值。 (您可以擴展基本控制器,如果您有很多可以節省向許多人添加此功能的麻煩

這樣,如果用戶訪問另一個部分,這些值將丟失,但只要它們保留在「表單」他們可以保持完好

+0

啊好的解決方案 - 是的我的窗體是一個控制器,所以我可以做到這一點,謝謝。 – Beginner 2010-11-16 16:55:31

+0

如果它解決了你的問題,你可以把它標記爲正確答案。 – rabidmachine9 2010-11-16 21:45:32