CodeIgniter显示重定向消息

时间:2018-02-13 18:26:04

标签: php codeigniter redirect

我目前正在使用 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);

但我仍然无法看到重定向消息......

我已检查错误日志和控制台是否有错误,但未找到任何内容。

我如何实现目标?

1 个答案:

答案 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