1
resposta

Problemas com login no codeigniter após trocar de windows para ubuntu

Estou com problemas, eu havia criado uma aplicação em codeigniter em meu localhost, tinha o sistema operacional windows 10 instalado e usava o Wamp Server instalado, porem formatei meu computador e instalei o ubuntu linux como sistema operacional e instalei o Xampp na maquina, porem agora não consigo fazer login na aplicação, testei os models e controllers para ver e esta tudo certo, nos teste via que ao autenticar o email e senha esta retornando o usuario normalmente porem nao esta adicionando na session. Fiz exatamente como esta no curso de codeigniter da Alura, mas não fala nada sobre ubuntu, pois o curso é passado em Mac.

Segue codigo do controller (Login.php):

class Login extends CI_Controller {

    function index() {
        if($this->session->userdata('isLoggedIn')) {
            redirect('/painel/acesso');
        } else {
            $this->show_login();
        }
    }

    function login_user() {

    $this->load->model('Login_model');

    $email = $this->input->post('email');
    $password  = sha1($this->input->post('password'));

        $usuario = $this->Login_model->logar($email, $password);

        if($usuario){
            $this->session->set_userdata('isLoggedIn', $usuario);
            $this->session->set_flashdata('success','Login efetuado com sucesso, seja bem vindo.');
            redirect('/painel/acesso');

        }else{
            $this->session->set_flashdata('error','E-mail ou senha invalidas');
            redirect('/login');
        }
    }

Segue codigo do Model (Login_model.php):

class Login_model extends CI_Model {

    public function logar($email, $password){
        $this->db->where('email', $email);
        $this->db->where('password', $password);
        $usuario = $this->db->get('user')->row_array();
        return $usuario;
    }

}

OBS: Lembrando que este erro começou quando migrei para o Ubuntu

1 resposta

Oi Bruno, tudo bom?

Já que seu sistema está subindo normalmente, evitamos algumas possibilidades. Provavelmente, seu problema está em alguma configuração.

Verifica no seu php.ini qual tempo está sendo definido para as sessões.

Uma outra possibilidade é a configuração do seu arquivo config. Verifica se há essas configurações:

$config['base_url'] = 'http://localhost/seuProjeto/'; // ou qualquer URL na qual você esteja executando seu servidor
...
$config['sess_cookie_name']     = 'session';
...
$config['cookie_prefix']    = "";
$config['cookie_domain']    = "";
// Ou
$config['cookie_domain'] = str_replace("http://","",str_replace("https://","", $config['base_url']));

Nesses casos onde não há um erro explicito é realmente mais complicado encontrar o problema. Mas, dando uma olhada nas configs acredito que resolva

Espero ter ajudado de alguma forma.

Qualquer problema compartilha aqui com a gente!