Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话flashdata在codeigniter 2.2中无法正常工作_Php_Codeigniter_Session - Fatal编程技术网

Php 会话flashdata在codeigniter 2.2中无法正常工作

Php 会话flashdata在codeigniter 2.2中无法正常工作,php,codeigniter,session,Php,Codeigniter,Session,我对会话flashdata有问题。从不显示包含会话的消息。我在这一页上读了很多帖子。但我没有找到解决问题的办法 我有以下几条路线: //index is a subfolder into the controllers folder //user is a controller $route['login'] = 'index/user/showLogin'; $route['do_login'] = 'index/user/doLogin'; $rou

我对会话flashdata有问题。从不显示包含会话的消息。我在这一页上读了很多帖子。但我没有找到解决问题的办法

我有以下几条路线:

//index is a subfolder into the controllers folder
//user is a controller
$route['login']             = 'index/user/showLogin';
$route['do_login']          = 'index/user/doLogin';
$route['register']          = 'index/user/showRegister';
$route['do_register']       = 'index/user/doRegister';
user.php控制器:

public function showRegister()
{
   $this->template->set('title', 'test register');
   $this->template->load('template', 'index/register', $data);
}

public function doRegister()
{
   $this->form_validation->set_rules('email',      'Email',                'required|trim|max_length[30]|xss_clean|valid_email|is_unique[users.email]|');
   $this->form_validation->set_rules('password',   'Password',           'required|trim|min_length[6]|max_length[20]|xss_clean|alpha_dash');
   $this->form_validation->set_rules('rrpassword', 'Re Password',   'required|trim|min_length[6]|max_length[20]|xss_clean|matches[password]|alpha_dash');

   if($this->form_validation->run() == FALSE)
   {
    $this->showRegister();
   }
   else
   {
       $email      = $this->input->post('email');
       $pass       = $this->input->post('password');
       $password   = $this->bcrypt->hash_password($pass);

       // check if the password was encrypted
       if ($this->bcrypt->check_password($pass, $password))
       {
           $data =array(
               'email'     => $email,
               'password'  => $password,
           );

           $insert = $this->user_model->register($data);

           if(!$insert)
           {
               echo 'error';
           }
           $this->session->set_flashdata('info', 'registered');
           redirect('login', 'refresh');
       }
       else
       {
           $this->session->set_flashdata('info', 'Oops.. error...');
           redirect(base_url('login'), 'refresh');
       }
    }
  }
要在视图登录中显示消息,请执行以下操作:

<div class="alert alert-info alert-dismissible" role="alert">
   <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
   Test: <?php echo $this->session->flashdata('info'); ?>
</div>
但这不管用。还将favicon.ico添加到根文件夹,但不起作用。几个小时前我正在试着修好它。它可能是PHP版本?

您是否加载了会话库。我认为默认情况下不会加载会话库

在调用flashdata或在构造函数中加载会话库之前,请尝试在函数中加载会话库


或者将会话库添加到config/autoload.php

显然已经配置了自动加载文件。我没那么傻haha@OsquiB好吧,那你自己做吧
$this->session->set_flashdata('info', 'test......');
$this->session->keep_flashdata('info');
redirect('login', 'refresh');
$this->load->library('session');