Ir para conteúdo

POWERED BY:

Arquivado

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

alissonxx

[Resolvido] Expirar Sessão

Recommended Posts

Fiz um sistema de login,

 

mas não estou conseguindo utilizar o session_cache_expire();

 

esse é o código:

 

if ($usu == 0){ header( "location: index.php" ); exit(); }

 

 

 

include("classes/c_usuarios.php");

 

$Usuario->Ler( $usu );

 

session_cache_expire(1);

coloque 1 minuto, mas não expira

 

alguem poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele tah antes do session_start ? qualque coisa da uma revisada no manual do php.. =]

 

http://br.php.net/session_cache_expire

 

valww espero ter ajudado

 

entao

 

coloquei depois

 

tentei fazer o teste do exemplo do php.net

 

e ficou

 

/* Define o limitador de cache para 'private' */

session_cache_limiter('usu');

 

 

/* Define o limite de tempo do cache em 30 minutos */

session_cache_expire(2);

 

session_start();

 

$usu = isset( $_SESSION["usu"] ) ? $_SESSION["usu"]: 0;

 

 

 

 

# Usuário não logado

 

if ($usu == 0){ header( "location: index.php" ); exit(); }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

dei uma olhada la

 

e fiz do jeito que o outro cara falou

 

session_start();

session_cache_expire(1);

session_cache_limiter('private');

$usu = isset( $_SESSION["usu"] ) ? $_SESSION["usu"]: 0;

 

 

 

 

# Usuário não logado

 

if ($usu == 0){ header( "location: index.php" ); exit(); }

 

mas nao funciona :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acabei de fazer aqui, mas de um jeito diferente... Usei a dica do Alaerte e segui em frente...

 

Na página que você o login você cria uma variável com o timestamp daquele momento.

//toda a parte para ver se o login e a senha estão corretos
$_SESSION['tempo_permitido'] = time();

Na página que verifica se está logado, faz mais ou menos assim

$now = time();
$segundos=(is_numeric($_SESSION['tempo_permitido']) and is_numeric($now)) ? ($now - $_SESSION['tempo_permitido']):false;
define('TEMPO_LOGADO',120);// Aqui você define o tempo em segundos que ele tem para ficar sem fazer nada
if ($segundos > TEMPO_LOGADO) {
	echo 'Sessão Expirou';
}else{
	$_SESSION['tempo_permitido'] = $now;
}

Aqui está funcionando

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acabei de fazer aqui, mas de um jeito diferente... Usei a dica do Alaerte e segui em frente...

 

Na página que você o login você cria uma variável com o timestamp daquele momento.

//toda a parte para ver se o login e a senha estão corretos
$_SESSION['tempo_permitido'] = time();

Na página que verifica se está logado, faz mais ou menos assim

$now = time();
$segundos=(is_numeric($_SESSION['tempo_permitido']) and is_numeric($now)) ? ($now - $_SESSION['tempo_permitido']):false;
define('TEMPO_LOGADO',120);// Aqui você define o tempo em segundos que ele tem para ficar sem fazer nada
if ($segundos > TEMPO_LOGADO) {
	echo 'Sessão Expirou';
}else{
	$_SESSION['tempo_permitido'] = $now;
}

Aqui está funcionando

 

Carlos Eduardo

 

funcionou aqui! obrigado,

 

uma outra duvida.

 

 

eu utilizo iframe, e qnd a sessao expira dentro do iframe aparece para fazer o login...

 

eu faço o login e aparece no iframe a página de logado!

 

tem algum jeito de dar um atualizar na pagina intera?

 

exemplo:

 

pagina pai > inicio.php

pagina filho que fica no iframe > cadastroCliente.php

 

qnd eu estiver em cadastroCliente.php que estará dentro de um iframe na inicio.php

 

eu quero atualizar a inicio.php... tem como?

 

 

ele está assim

 

$now = time();

$segundos=(is_numeric($_SESSION['tempo_permitido']) and is_numeric($now)) ? ($now - $_SESSION['tempo_permitido']):false;

define('TEMPO_LOGADO',15);// Aqui você define o tempo em segundos que ele tem para ficar sem fazer nada

if ($segundos > TEMPO_LOGADO) {

echo '<strong>Sessão Expirou</strong>';

echo"<meta http-equiv=\"refresh\" content=\"1;URL=sair.php\">"; //aqui ele da logout e vai pra pagina de login

 

 

}else{

$_SESSION['tempo_permitido'] = $now;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acabei de fazer aqui, mas de um jeito diferente... Usei a dica do Alaerte e segui em frente...

 

Na página que você o login você cria uma variável com o timestamp daquele momento.

//toda a parte para ver se o login e a senha estão corretos
$_SESSION['tempo_permitido'] = time();

Na página que verifica se está logado, faz mais ou menos assim

$now = time();
$segundos=(is_numeric($_SESSION['tempo_permitido']) and is_numeric($now)) ? ($now - $_SESSION['tempo_permitido']):false;
define('TEMPO_LOGADO',120);// Aqui você define o tempo em segundos que ele tem para ficar sem fazer nada
if ($segundos > TEMPO_LOGADO) {
	echo 'Sessão Expirou';
}else{
	$_SESSION['tempo_permitido'] = $now;
}

Aqui está funcionando

 

Carlos Eduardo

 

funcionou aqui! obrigado,

 

uma outra duvida.

 

 

eu utilizo iframe, e qnd a sessao expira dentro do iframe aparece para fazer o login...

 

eu faço o login e aparece no iframe a página de logado!

 

tem algum jeito de dar um atualizar na pagina intera?

 

exemplo:

 

pagina pai > inicio.php

pagina filho que fica no iframe > cadastroCliente.php

 

qnd eu estiver em cadastroCliente.php que estará dentro de um iframe na inicio.php

 

eu quero atualizar a inicio.php... tem como?

 

 

ele está assim

 

$now = time();

$segundos=(is_numeric($_SESSION['tempo_permitido']) and is_numeric($now)) ? ($now - $_SESSION['tempo_permitido']):false;

define('TEMPO_LOGADO',15);// Aqui você define o tempo em segundos que ele tem para ficar sem fazer nada

if ($segundos > TEMPO_LOGADO) {

echo '<strong>Sessão Expirou</strong>';

echo"<meta http-equiv=\"refresh\" content=\"1;URL=sair.php\">"; //aqui ele da logout e vai pra pagina de login

 

 

}else{

$_SESSION['tempo_permitido'] = $now;

 

consegui aqui

 

obrigado!

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.