Ir para conteúdo

POWERED BY:

Arquivado

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

Neto Gerbi

Sessão some ao atualizar

Recommended Posts

Amigos estou realizando uma aplicação em php que utiliza sessão,

bom... eu inicio a sessão certo, estou startando a sessão na pagina tbm...

aparece o cadastro do usuario certinho e tal, porem quando eu recarrego a pagina a sessão é perdida!!!

 

nao estou conseguindo corrigir o erro!!!

 

por favor me ajudem!

 

Codigo da pagina:

<?php session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>E-GIFT</title>
<link href="css.css" rel="stylesheet" type="text/css" />
<script LANGUAGE="JavaScript" type="text/javascript">
function excluir(){
	window.location.href="controle.php?acao=excluir";
}
function alterar(){
	window.location.href="controle.php?acao=alterar";
	//esta função ainda nao está funcionando
}
</script>



</body>
</html>
</head>

<body>

<div id="container">
   
    <?php include ("inc_header.php"); ?>
    
    <?php include ("inc_menunav.php"); ?>
    
    <?php include ("inc_menu.php"); ?>
    
   <div id="contents">
		<?php 
		include($_SERVER['DOCUMENT_ROOT']."/apjs0307/egift/OO/Usuario.class.php");
		include($_SERVER['DOCUMENT_ROOT']."/apjs0307/egift/OO/DAO/UsuarioDAO.class.php");
		
			$aux=new Usuario();
			$aux->setUserId($_SESSION["usuario"]);
			$auxdao=new UsuarioDAO($aux);
			$usuario=$auxdao->consultarUsuario();
		
		if(strcmp($_GET['acao'],"excluir")==0){
			$auxdao->excluirUsuario();
			header("Location: index.php");
		}elseif(strcmp($_GET['acao'],"alterar")==0){
		}

		?>
		
		<div align="right" class="formulario_cadastro" >
		<form method="post" name="form_controle">
		Nome: <input name="txtNome" type="text" id="txtNome" value="<?php echo $usuario['NOME'] ?>" disabled><br/><br/>
		Usuario: <input name="txtUsuario" type="text" id="txtUsuario" value="<?php echo $usuario['USERID'] ?>" disabled><br/><br/>
		Senha: <input name="txtSenha" type="text" id="txtSenha" value="<?php echo $usuario['PSWD'] ?>" disabled><br/><br/>
		Grupo: <input name="txtGrupo" type="text" id="txtGrupo" value="<?php echo $usuario['GNOME'] ?>" disabled> <br/><br/>
		
		<INPUT TYPE="button" VALUE="Excluir" onClick="excluir()" >
		<INPUT TYPE="button" VALUE="Alterar" onClick="alterar()" >


		</form>
		</div> 
    </div>

    
    <?php include ("inc_footer.php"); ?>
    
</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

simplesmente o formulario se esvazia, e tenho quase certeza que é devido à sessão que se perde! o menu dinamico fica vazio tbm e ele faz um teste para ver se o sessão esta vazia! se nao estiver ele coloca as funcionalidades... e ta ficando vazio... ou seja, sessão vazia!!! mas como pode ver... existe um start_session();

 

e agoraaa???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já vi isso ocorrer usando o Internet Explorer... se for esse navegador qeu estiver usando, tente com um Firefox.

 

Outra alternativa é definir dentro da programação tempo para expirar, nome da sessão, salvar a sessão.

 


session_name("NOMESESSAO");

ini_set("session.gc_maxlifetime",86400);
ini_set("session.cache_expire",14400);
session_save_path();

session_start();

Você pode usar no Firefoz a extensão Web Developer Tool Bar para verificar se a sessão existe ou foi deletada.

 

Verifica se no rodape não tem session_destroy(); pois como está em include não tem como a nós observarmos isso para você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa usar programa para isso, use a própria programação para saber, é o mais seguro.

 

de um

print_r($_SESSION);

o problema está no modo como você recupera os dados e não no session.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa usar programa para isso, use a própria programação para saber, é o mais seguro.

 

de um

print_r($_SESSION);

o problema está no modo como você recupera os dados e não no session.

 

permitam-me a carona.

 

me está acontecendo algo parecido, e uso o firefox, contudo não creio q o browser tenha algo a ver com isso.

 

estou iniciando php, e estou buscando informações "práticas" sobre o uso de sessões,tipo:

 

eu tenho session_start(), no script q valida o login, e ela não retorna informação para outras paginas, já coloquei um echo $_SESSION['usuario'],na primeira pagina após validar o login, e o echo retornou vazio.

se coloco session_start() no index "também", dá erro.

 

enfim, realmente, um modelo prático sería a solução. xD, já testei alguns do forum, mas não foram satisfatórios.

 

se alguem souber de algum, q possa passar o link, sou agradecido.

 

thx

Compartilhar este post


Link para o post
Compartilhar em outros sites

O navegador pode interferir se ele tiver com opção de não gravar sessão (cookies).

O Firefox tem um opção de Disable Cookies > All Cookies que impede de gravar sessões.

Porém isso é para todos os sites, com isso entre em algum site com Sessões e verifique se ele gravou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alaerte Gabriel:

 

como devo fazer a passagem de dados neste caso!? por favor... me da uma luz.,..

 

aqui na minha casa funciona perfeitamente, mas na faculdade nao!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos estou realizando uma aplicação em php que utiliza sessão,

bom... eu inicio a sessão certo, estou startando a sessão na pagina tbm...

aparece o cadastro do usuario certinho e tal, porem quando eu recarrego a pagina a sessão é perdida!!!

 

nao estou conseguindo corrigir o erro!!!

 

por favor me ajudem!

 

Codigo da pagina:

<?php session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>E-GIFT</title>
<link href="css.css" rel="stylesheet" type="text/css" />
<script LANGUAGE="JavaScript" type="text/javascript">
function excluir(){
	window.location.href="controle.php?acao=excluir";
}
function alterar(){
	window.location.href="controle.php?acao=alterar";
	//esta função ainda nao está funcionando
}
</script>



</body>
</html>
</head>

<body>

<div id="container">
   
    <?php include ("inc_header.php"); ?>
    
    <?php include ("inc_menunav.php"); ?>
    
    <?php include ("inc_menu.php"); ?>
    
   <div id="contents">
		<?php 
		include($_SERVER['DOCUMENT_ROOT']."/apjs0307/egift/OO/Usuario.class.php");
		include($_SERVER['DOCUMENT_ROOT']."/apjs0307/egift/OO/DAO/UsuarioDAO.class.php");
		
			$aux=new Usuario();
			$aux->setUserId($_SESSION["usuario"]);
			$auxdao=new UsuarioDAO($aux);
			$usuario=$auxdao->consultarUsuario();
		
		if(strcmp($_GET['acao'],"excluir")==0){
			$auxdao->excluirUsuario();
			header("Location: index.php");
		}elseif(strcmp($_GET['acao'],"alterar")==0){
		}

		?>
		
		<div align="right" class="formulario_cadastro" >
		<form method="post" name="form_controle">
		Nome: <input name="txtNome" type="text" id="txtNome" value="<?php echo $usuario['NOME'] ?>" disabled><br/><br/>
		Usuario: <input name="txtUsuario" type="text" id="txtUsuario" value="<?php echo $usuario['USERID'] ?>" disabled><br/><br/>
		Senha: <input name="txtSenha" type="text" id="txtSenha" value="<?php echo $usuario['PSWD'] ?>" disabled><br/><br/>
		Grupo: <input name="txtGrupo" type="text" id="txtGrupo" value="<?php echo $usuario['GNOME'] ?>" disabled> <br/><br/>
		
		<INPUT TYPE="button" VALUE="Excluir" onClick="excluir()" >
		<INPUT TYPE="button" VALUE="Alterar" onClick="alterar()" >


		</form>
		</div> 
    </div>

    
    <?php include ("inc_footer.php"); ?>
    
</div>

</body>
</html>

Estou passando por isso tmbm.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não precisa usar a função session_register, nem a session_name, estão obsoletas.

 

Utilize apenas:

 

index.php

<?php 

session_start();

$valor = 'Teste';

$_SESSION['nome_session']=$valor;

echo '<a href="outra.php">Pegar valor</a>';
?>

outra.php

 

<?php 
session_start();

echo $_SESSION['nome_session'];

echo '<a href="index.php">Voltar</a>';
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não gosto de brincar de coveiro, mas o que tenho a dizer é bem útil e ainda não foi dito aqui.

Eu acabei de passar por um problema parecido, e me deparei com essa página do fórum.

 

Nenhuma das ações que sugeriram funcionou para mim, mas por uma obra do além (rsrs) eu consegui encontrar o problema.

 

Abaixo vou explicar o que aconteceu comigo.

 

 

Eu estou desenvolvendo um site, onde a navegação dele é totalmente em ajax (com o auxílio de hashs).

Em uma determinada página, eu listava as ocorrências de álbuns de fotos criados pelo usuário, com um link para ver as imagens daquele álbum.

Quando a pessoa clica em "ver álbum", uma variável é passada via POST pelo AJAX, para que seja possível resgatar as fotos do banco.

 

No fim das contas, quando eu recarregava a página, o ajax não enviava a variável (óbvio, pq ela existia somente na página anterior) e o valor dessa variável ficava como 'undefined'.

 

Por esse motivo, as validações que eu fazia if( isset( ) ) e if( empty( ) ) não funcionavam, já que 'undefined' é uma string (ou seja, a variável existe e não está vazia). Dessa forma, toda vez que eu recarregava a página, a session era definida como 'undefined'.

 

erro bobo, né? rsrs

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.