Session with PHP / Ajax / jQuery

0

I'm developing a system and I have a problem with the user login, the session variables receive the data, but when I try to use them on other pages of the application, they are empty. I already used this feature on another system and I had no problems, but this time I do not understand why it does not work. Follow the code ...

Ajax

$('#btn_submit_login').click( function(){
        var data = $('#login_form').serialize();

        $.ajax({
            url: 'php/usuario_login.php',
            method: 'post',
            data: data,
            dataType: 'json',

            success: function(response){

                if(response.codigo == "1"){
                    window.location.href = "home.php";
                }
                else{
                    $('.mensagem-login').html(response.mensagem);
                }
            }
        })

    });

login_user.php

<?php

// Iniciando as variáveis de sessão
if(!isset($_SESSION)) {
    session_start();
}

// Incluindo a classe de conexão ao BD
require_once('database.class.php');

// Recebendo os dados do formulário via POST
$usuario = $_POST['aut_usuario_login'];
$senha = md5($_POST['aut_usuario_senha']);

// Verificando se o camo usuário foi preenchido
if(empty($usuario)){
    $retorno = array('mensagem' => 'Preencha o campo nome de usuário.');
    echo json_encode($retorno);
    exit();
}
// Verificando se campo senha foi preenchido, verificando POST por causa do md5
else if(empty($_POST['aut_usuario_senha'])){
    $retorno = array('mensagem' => 'Preencha o campo senha.');
    echo json_encode($retorno);
    exit();
}

// Instanciando a classe Database / chamando o método de conexão com MySQL
$objdb = new Database();
$link = $objdb->conecta_mysql();

// Comando SQL
$sql = "SELECT * FROM usuario WHERE usuariologin = '$usuario' AND usuariosenha = '$senha' ";

// Executando a query e armazenando o retorno em uma variável
$resultado_id = mysqli_query($link, $sql);

// Caso haja registro, executa as seguintes instruções
if($resultado_id){

    $dados_usuario = mysqli_fetch_array($resultado_id);

    if(isset($dados_usuario['usuariologin'])){

        // Recebendo e armazenando os dados da sessão
        $_SESSION['idusuario'] = $dados_usuario['idusuario'];
        $_SESSION['usuarionome'] = $dados_usuario['usuarionome'];
        $_SESSION['usuariologin'] = $dados_usuario['usuariologin'];

        // Retorno código '1' caso o usuário seja confirmado
        $retorno = array('codigo' => '1');
        echo json_encode($retorno);
        exit();

        header('Location: ../home.php');
    }
    else{
        // Retorna mensagem de erro caso o usuário ou senha esteja incorreto
        $retorno = array('mensagem' => 'Usuário e/ou senha inválidos.');
        echo json_encode($retorno);
        exit();
    }
}
else{
    echo 'Erro na execução da consulta.';
}

? >

On the pages I need to use the session, I'm starting like this:

<?php
if(!isset($_SESSION)) {
    session_start();
}

echo 'Session: '. $_SESSION['usuarionome'];

? >

The error message I get is: Notice: Undefined index: usuarionome in C: \ xampp \ htdocs \ sistema_ged \ home.php on line 6

Thank you in advance!

    
asked by anonymous 19.03.2018 / 19:57

0 answers