Codeigniter:在多个视图之间传递值的最佳方法

时间:2012-10-15 12:17:31

标签: php codeigniter

我是Codeigniter的新手。 :)

我有一个包含多个页面的网站会员注册流程,并希望找到在视图之间“存储”数据的最佳方式,直到注册流程完成并且我可以创建成员记录?

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

任何最佳实践方法?

1 个答案:

答案 0 :(得分:2)

我认为你有几个选择,但我会选择两个:

您可以创建一个用作运行JavaScript的标签系统的表单。这样,就HTML而言,您在页面上只有一个表单,但您使用JavaScript隐藏并一次显示一个页面。这基本上解决了所有问题。

如果这对您不起作用,那么我建议$ _SESSIONS。但是,不是原生的codeigniter会话。这是我唯一不喜欢的Codeigniter是它使用Cookies而不是PHP本机$ _SESSIONS。我使用以下库专门为codeigniter https://github.com/EllisLab/CodeIgniter/wiki/Native-session

实现PHP $ _SESSIONS

虽然大多数人确实开启了Cookie,但您仍然疏远了一些潜在客户。只需使用本机PHP $ _SESSIONS

即可轻松解决此问题

希望它成功 - 祝你好运!