2012-10-15 65 views
1

我是Codeigniter的新手。 :)Codeigniter:在多个视图之间传递值的最佳方法

我有几页网站会员注册流程,并想找出什么对“商店”的视图之间数据的最佳方式,直到注册流程完成,我可以创造一个成员记录?

我应该创建一个临时表并根据会话ID保存信息吗? 或者我应该尝试将数据数组传递给每个视图,然后将信息存储在隐藏字段中(然后我可以通过POST从控制器再次获取值)? 或者也许我可以在我的控制器中有一个'全局变量',用于存储所有的数据,直到我完成注册流程并可以将信息保存到数据库中。

任何最佳实践方法?

+0

为什么不能在一个多步表单的页面? – itachi

+0

在多个视图之间传递值的最佳方法是不要在视图之间传递值并为此使用控制器。 –

回答

2

我觉得你有几种选择,但这里有两个我会选:

您可以创建一个工程作为逃跑的JavaScript标签系统的形式。通过这种方式,您只能根据HTML确定页面上的一个表单,但您可以使用JavaScript一次隐藏和显示一个页面。这基本上解决了你所有的问题。

如果不为你工作,那么我建议$ _SESSIONS为好。但是,不是本地codeigniter会话。这是我不喜欢的关于Codeigniter的唯一事情是它使用Cookies而不是PHP本地$ _SESSIONS。我使用以下库来实现专门用于codeigniter的PHP $ _SESSIONS https://github.com/EllisLab/CodeIgniter/wiki/Native-session

虽然大多数人确实打开了cookie,但您仍然疏远了一些潜在客户。祝你好运 - 这可以很容易地通过只使用本机PHP $ _SESSIONS

希望工程进行修复!

相关问题