我是Codeigniter的新手。 :)
我有一个包含多个页面的网站会员注册流程,并希望找到在视图之间“存储”数据的最佳方式,直到注册流程完成并且我可以创建成员记录?
我应该创建临时表并根据会话ID保存信息吗? 或者我应该尝试将数据数组传递给每个视图,然后将信息存储在隐藏字段中(然后我可以通过POST从控制器再次获取值)? 或者我可能在我的控制器中有一个“全局变量”来存储所有数据,直到我完成注册流程并将信息保存到数据库中。
任何最佳实践方法?
答案 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
即可轻松解决此问题希望它成功 - 祝你好运!