我目前正在使用 XAMPP来提供CodeIgniter 3.1.7版动态Web应用程序。
我的目标能够查看某个用户是否在没有查看数据库的情况下创建/注册(即使是普通用户也可以看到)。
在以前版本的框架中,例如3.0.1,可以通过以下方式解决此问题,显示重定向消息:
使用' set_flashdata' &安培; '重定向()'在控制器中的users.php文件中,作为 以下内容:
$this->session->set_flashdata('user_registered', 'User has been registered');
redirect('home/index');
在查看:
中使用以下内容<?php if($this->session->flashdata('user_registered')): ?>
<?php echo ($this->session->flashdata('user_registered')); ?>
<?php endif; ?>
但如上所述,我目前正在使用CodeIgniter 3.1.7版和注册用户,重定向期间,似乎 CodeIgniter是重置数据。
注意:闪存数据应保留&#34;数据&#34;对于下一个请求,和 在提出请求之后,它应该自动删除该数据。
为了解决当前版本的问题并显示重定向消息,我尝试在users.php中使用以下代码(控制器):
$this->session->set_flashdata('user_registered', 'User has been registered');
$data = array('main_view' => 'home_view');
$this->load->view('layouts/main', $data);
但我仍然无法看到重定向消息......
我已检查错误日志和控制台是否有错误,但未找到任何内容。
答案 0 :(得分:3)
在他们的文档中,来自flashdata:
的内容如下这是一种仅用于向后兼容的传统方法 旧应用程序。您应该直接访问$ _SESSION。
您可以直接使用$ _SESSION执行相同的操作(我的示例):
//first request
$_SESSION['flash'] = 'This is a simple flash message.';
//next request
$flash = $_SESSION['flash'];
unset($_SESSION['flash']); //flash is one time only