Ir para conteúdo

POWERED BY:

Arquivado

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

guilhermek

[Resolvido] Expirando session depois de um determinado tempo

Recommended Posts

Ola pessoal, estou precisando de uma ajudnha aqui, é o seguinte, fiz um usuario e senha em classes, estou conseguindo criar a session... porem na pagina restrita após efetuar o login precisava colocar um pequeno scripe para que a session expire depois de um determinado tempo, mais nao sei pq nao esta funcionando usei o session_cache_expire mais nao funcionou abaixo esta o veritica.php e o index2.php que são as paginas que cria a sessao e a pagina restrita.

 

 

Verifica.php

 

<?php


include_once 'conexao.ini.php';

	
class Usuario{
	
	private $usuario;
	private $senha;
	private $loja;
	
	public function setUsuario($usuario) {
		$this->nome = $usuario;
	}
	
	public function getUsuario() {
		return $this->nome;
	}


	public function setSenha($senha) {
		$this->senha = $senha;
	}

	public function getSenha() {
		return $this->senha;
	}
	
	public function setLoja($loja){
		$this->loja = $loja;
	}
	
	public function getLoja(){
		return $this->loja;
	}
	
	public function Login(){
		//echo base64_decode($this->senha);
		$xsql="SELECT usuario, senha FROM usuarios WHERE usuario='{$this->getUsuario()}' AND senha='{$this->getSenha()}' AND  loja='{$this->getLoja()}'";
		//echo $xsql;
		$sql = mysql_query($xsql) or die ("erro");
		$row = mysql_num_rows($sql);
		
	if($row==0){
	echo "informe usuario e senha";
	
	}else{
		
		session_start();
			$_SESSION['usuario']=$this->getUsuario();
			$_SESSION['senha']=$this->getSenha();	
			$_SESSION['loja']=$this->getLoja();
			session_register("painelCliente");		
			header("LOCATION:index2.php");
	//print_r($_SESSION);
	}	
  }
}

$i = new Usuario;
$usuario = $_POST['usuario'];
$senha = base64_encode($_POST['senha']);
$loja = $_POST['loja'];
$i->setUsuario($usuario);
$i->setSenha($senha);
$i->setLoja($loja);
$i->Login();
	
?>




logo abaixo o index2.php 


<?php

session_cache_expire(5);
session_cache_limiter('private');
session_start("painelCliente");
 if (isset($_SESSION["usuario"]) and isset($_SESSION["senha"])and isset($_SESSION["loja"])){ 
	}else{
		header("LOCATION:index.php");
 }

?>

		<link href="css.css" rel="stylesheet" type="text/css" />
		<script type="text/javascript">
		
				
				function MM_openBrWindow(theURL,winName,features) {
				  window.open(theURL,winName,features);
				}
		
		</script>

	<div id="fundo_azul"></div>
	
	<div id="pai">
	
		<table width="200" height="600" align="center">
	  
			<tr><th scope="col">
					
			<table width="300" align="center" id="borda"><tr>
							
			<td height="187"><div align="center"><a href="painel.php"><span id="links" >Abrir Painel em modo normal</span></a></div>
							
			<div id="espaco"></div>
							
			<div align="center" id="links" onclick="MM_openBrWindow('painel.php','','width=800,height=600')" onload="MM_openBrWindow('sasa.php','','width=800,height=600')><span id="links"><a href="#" id="links">Abril Painel em modo janela</span></a></div></td></tr>
			
		 </table></th></tr>
		
	  </table>
	
	</div>
	
	<div id="fundo_azul"></div>

 

 

 

espero que possam me ajudar com esse problema, valeu galera!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ai não vai expirar o session, para expirar o tempo da session recomendo usar o mktime juntamente com o date:

 

<?php
session_start();

$_SESSION['tempo_permitido'] = mktime(date('m-d-Y H:i:s'));

$_SESSION['usuario']='Alaerte Gabriel - iMasters';

print 'Olá '.$_SESSION['usuario']. 'Seja Bem vindo !';
?>

depois tu faz uma página para validação e cotação do tempo:

 

<?php
session_start();

$tempo_inicial=mktime(date('m-d-Y H:i:s'));

$segundos = $tempo_inicial-$_SESSION['tempo_permitido'];

if($segundos > 20){
$_SESSION['usuario']='';
print 'O tempo de sua sessão acabou.';
}else{
print $_SESSION['usuario'];
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae amigo alaerte, me desculpe foi ero de "BIOS" aqui hehehehhe tinha esquecido um dtalhe funcionou corretamente aqui abraços e desculpa ae!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ai não vai expirar o session, para expirar o tempo da session recomendo usar o mktime juntamente com o date:

 

<?php
session_start();

$_SESSION['tempo_permitido'] = mktime(date('m-d-Y H:i:s'));

$_SESSION['usuario']='Alaerte Gabriel - iMasters';

print 'Olá '.$_SESSION['usuario']. 'Seja Bem vindo !';
?>

depois tu faz uma página para validação e cotação do tempo:

 

<?php
session_start();

$tempo_inicial=mktime(date('m-d-Y H:i:s'));

$segundos = $tempo_inicial-$_SESSION['tempo_permitido'];

if($segundos > 20){
$_SESSION['usuario']='';
print 'O tempo de sua sessão acabou.';
}else{
print $_SESSION['usuario'];
}
?>

 

 

 

 

ae amigo alaerte, me desculpe foi ero de "BIOS" aqui hehehehhe tinha esquecido um dtalhe funcionou corretamente aqui abraços e desculpa ae!!!!

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.