重定向时,我的会话总是丢失数据



每次登录时,在模型中,会话都会正确接收所有数据,但当页面重定向到主页时,会话数据就会消失。

我使用的是代码点火器,这是型号代码:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {

public function __construct()
{
parent::__construct();
if (isset($_SESSION['id_usuario']))
redirect(base_url());
$this->load->model('blogueiro_model');
$this->load->model('pagina_model');
$this->load->library('form_validation');
}

public function index()
{
$this->load->view('login.php');
}

public function checa()
{
if ( ! $this->input->post())
show_404();

$this->form_validation->set_rules('login', 'login', 'required');
$this->form_validation->set_rules('password', 'password', 'required');

$login = html_escape($this->input->post('login'));
$senha = html_escape($this->input->post('password'));

if ($this->form_validation->run() === TRUE) 
{
$usuario = $this->blogueiro_model->autentica($login, $senha);

if ($usuario !== NULL)
{
$this->session->set_userdata('id_usuario', $usuario->id);
$this->session->set_userdata('nome_usuario', $usuario->nome);
$this->session->set_userdata('login_usuario', $usuario->login);
$this->session->set_userdata('e_admin', $usuario->e_admin);
$this->session->set_userdata('foto', $usuario->foto);
$permissoes = ($usuario->e_admin == 0) ? $this->blogueiro_model->busca_permissoes($usuario->id) : $this->blogueiro_model->lista_todas_permissoes();
$this->session->set_userdata('permissoes', $permissoes);
$this->blogueiro_model->limpa_trials($login);
}
else
{
$this->blogueiro_model->incrementa_trials($login);
$this->index();

}
}
else
{
$this->index();
}
redirect(base_url());
}
}

我注意到的另一件事是,状态代码总是在302和303之间,我研究了很多,但没有找到这个问题的解决方案。

关注状态,预览并请求图像。

状态代码:302找到

预览

请求

您正在使用Ci3吗?你是在控制器中加载会话库吗;家";。

您可以在控制器中加载库,也可以像下面这样加载方法:$this->load->library('session');,也可以在任何地方自动加载会话库在CCD_ 2中添加会话库。

欲了解更多信息,请查看CodeIgniter 3 中的自动加载

像这样尝试

$_SESSION['id_usuario'] = (int) $usuario->id;
$_SESSION['nome_usuario'] = (string) $usuario->nome;

相关内容

  • 没有找到相关文章

最新更新