PHP does not find Session

0

Hello! I'm logging in with Jquery and PHP, the connection is right. But when I soon rather than keep on a page he does not find my session and sends me back to login.

My HTML:

<h2 id="errolog">Usuário ou senha errados!</h2>
    
<form id="formlogin">
	<input type="email" id="email" placeholder="Digite seu e-mail" required="" />
	<input type="password" id="senha" placeholder="Senha" required="" />
	<button type="submit">Entrar</button>
</form>

<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#errolog').hide(); //Esconde o elemento com id errolog
$('#formlogin').submit(function(){ 	//Ao submeter formulário
var login=$('#email').val();	//Pega valor do campo email
var senha=$('#senha').val();	//Pega valor do campo senha
$.ajax({			//Função AJAX
  url:"manifesta_login22.php",			//Arquivo php
  type:"post",				//Método de envio
  data: "login="+login+"&senha="+senha,	//Dados
    success: function (result){			//Sucesso no AJAX
                if(result==1){
                  location.href='restrito.php'	//Redireciona
                }else{
                  $('#errolog').show();		//Informa o erro
                }
            }
})
return false;	//Evita que a página seja atualizada
})
})
</script>

Connecting to PHP:

<?php
  $con = mysqli_connect("localhost","root","root","login2");

  $login=$_POST['login'];	//Pegando dados passados por AJAX
  $senha=$_POST['senha'];

  //Consulta no banco de dados
  $sql="select * from usuarios where email='".$login."' and senha='".md5($senha)."'";
  $resultados = mysqli_query($con, $sql) or die (mysqli_error());
  $res=mysqli_fetch_array($resultados); //
	if (@mysqli_num_rows($resultados) == 0) {
		echo 0;	//Se a consulta não retornar nada é porque as credenciais estão erradas
	}

	else {
		echo 1;	//Responde sucesso
		if(!isset($_SESSION)) {	//verifica se há sessão aberta
		session_start();		//Inicia seção
		//Abrindo seções
		$_SESSION['usuarioID']=$res['id'];
		$_SESSION['nomeUsuario']=$res['nome'];
		$_SESSION['email']=$res['email'];
		exit;
	}
  }
?>

Page Logged:

<?php
session_start(); 	//A seção deve ser iniciada em todas as páginas
if (!isset($_SESSION['usuarioID'])) {		//Verifica se há seções
         	header("Location: login.html");	//Redireciona o visitante para login
}

?>
    
asked by anonymous 15.01.2018 / 21:25

1 answer

0

You did not use session_start () at the top of your connection code, so it does not identify anything. The session_start () must be at the top of the php code, it is standard documentation and rule.

    
15.01.2018 / 21:29