Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardo.frias

Notice: Undefined index

Recommended Posts

Boa noite,

 

Estou com um problema no login. Gravo o ID do usuário numa variável de sessão, assim que o usuário se loga

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

 $username = $_POST['name'];
 $password = $_POST['pwd'];
 $username_esc = addslashes($username);
 $password_esc = addslashes($password);
 
 include("conexao.php");
 mysql_select_db("mg", $conn) or print(mysql_error()); 

 $query = "SELECT id_usuario, nm_login, nm_senha, nm_nome, nm_sobrenome, nm_imagem FROM tbl_usuario WHERE nm_login='".$username_esc."' AND nm_senha='".$password_esc."'";

 $result = mysql_query($query,$conn) or die(mysql_error());
 $num_row = mysql_num_rows($result);
 $row=mysql_fetch_array($result);
 if( $num_row >=1 ) {
   echo 'true';
   $_SESSION['usuario']=$row['id_usuario'];
   $_SESSION['login']=$row['nm_login'];
   $_SESSION['nome']=$row['nm_nome'];
   $_SESSION['sobrenome']=$row['nm_sobrenome'];
   $_SESSION['avatar']=$row['nm_imagem'];
 }
 else{
   echo 'false';
 }
?>

Depois retorno true/false pro jQuery que de acordo com o retorno, exibe/oculta divs

if(html=='true')
{
	document.form1.loading.style.visibility = "hidden";
	$("#login-form").fadeOut("slow");
	$("#background-on-popup").fadeOut("slow");
	$("#perfil").fadeOut("fast");
	$("#perfil").load("perfil.php");
	$("#perfil").fadeIn("fast");
}
else 
{
	document.form1.loading.style.visibility = "hidden";
	$("#add_erro_login").html("Usuário ou Senha inválido");
}

Só que depois que ele carrega o perfil.php na div "#perfil", a $_SESSION['usuario'] está com valor VAZIO, alguém sabe porque?

 

Abs,

Ricardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Carrego no topo

echo $_SESSION['usuario'];

Quando entro ele dá esse erro (Notice: Undefined index: usuario), até porque não estou logado. Mas depois que me logo, continua dando o mesmo erro. Se dou F5 ele mostra o código do usuário corretamente.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso já está. Acho que sei o que está acontecendo, na verdade qdo o usuário loga, ele atualiza apenas a Dívida que está dentro do topo, e estou tentando recuperar a Session no topo, que já foi carregado anteriormente, entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O document load não daria o refresh na pagina toda?

 

O on eu estou usando no click do LOGIN, você diz ali ou em outro lugar?

$(document).on('click', '#login', function () {

Compartilhar este post


Link para o post
Compartilhar em outros sites

SIm, o login e o retorno estão funcionando, o que não consigo é pegar o valor da $_SESSION['usuario'] do arquivo perfil.php, já que no topo.php ela foi carregada vazia (antes do login)

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas como vc vai pegar o valor da sessão do usuário antes de logar?

 

esta realmente confuso.

 

Se você loga por ajax vc não vai ter acesso a $_SESSION até dar um refresh na página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não expliquei direito.

 

Eu tenho um topo e nele uma div, que carrego uma pagina php com os dados do usuário logado.

 

Quando o usuario entra, por não estar logado essa session esta vazia.

 

Quando o usuário loga, no retorno do Ajax carrego o php dentro da DIV e exibo os dados do cara.

 

Só que depois de logado, tem alguns icones do menu que preciso saber o ID do usuário, para poder acessar o cadastro, alterar avatar, etc. E sem o refresh não consigo pegar essa Session com o ID do usuário.

 

Deu para entender melhor?

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.