Bom pessoal eu quero explicar melhor o que eu quero.........
esse script é o que eu uso para me logar no site...
login.php
<?php
// Conexão com o banco de dados
include "conecta.php";
// Inicia sessões
session_start();
//$login = isset($_POST["login"]);
// Recupera a senha, a criptografando em MD5
//$senha = isset($_POST["senha"]);
$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;
$senha = isset($_POST["senha"]) ? trim($_POST["senha"]) : FALSE;
// Usuário não forneceu a senha ou o login
if(!$login || !$senha)
{
echo "Você deve digitar sua senha e login!";
exit;
}
/**
* Executa a consulta no banco de dados.
* Caso o número de linhas retornadas seja 1 o login é válido,
* caso 0, inválido.
*/
$query = "SELECT associacao_id, razao_social, login, senha FROM associacao
WHERE login = '$login '";
$result_id = mysql_query($query) or die("Erro no banco de dados!");
$total = mysql_num_rows($result_id);
// Caso o usuário tenha digitado um login válido o número de linhas será 1..
if($total)
{
// Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão
$dados = mysql_fetch_array($result_id);
// Agora verifica a senha
if(!strcmp($senha, $dados["senha"]) )
{
// TUDO OK! Agora, passa os dados para a sessão e redireciona o usuário
$_SESSION["id_usuario"] = $dados["associacao_id"];
$_SESSION["nome_usuario"] = stripslashes($dados["razao_social"]);
header("Location: principal.php");
exit;
}
// Senha inválida
else
{
echo "Senha inválida!";
exit;
}
}
// Login inválido
else
{
echo "O login fornecido por você é inexistente!";
exit;
}
?>
Após me logar cmo essa pagina.
principal.php
<?
include "veri_login.php";
echo "<br>";
echo "olá, ".$_SESSION["nome_usuario"]."<br>";
echo "você esta Logado!"."<br>";
echo "<a href=\"sair.php\">sair</a>";
?>
essa página chama o
veri_login.php
<?php
// Inicia sessões
session_start();
// Verifica se existe os dados da sessão de login
if(!isset($_SESSION["id_usuario"]) || !isset($_SESSION["nome_usuario"]))
{
// Usuário não logado! Redireciona para a página de login
header("Location: index.htm");
exit;
}
?>
se aperta no link sair da pagina principal.php
chama o
sair.php
<?php
// Inicia sessões, para assim poder destruí-las
session_start();
session_destroy();
header("Location: index.htm");
?>
Mas daí que tá o problema, a sessão so se destroi se o sair.php for chamado....
dai um colega aqui do forum me deu esse script, que expira a sessão...
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* Define o limite de tempo do cache em 30 minutos */
session_cache_expire (30);
$cache_expire = session_cache_expire();
esse comando expira a sessão, mas onde usar ele....
e tambem não tem como ele chamar outra pagina quando for expirado a sessão...dai nessa pagina daria par5a botar o ssesion_destroi()..
Pergunta
MauF
Bom pessoal eu quero explicar melhor o que eu quero.........
esse script é o que eu uso para me logar no site...
login.php
<?php // Conexão com o banco de dados include "conecta.php"; // Inicia sessões session_start(); //$login = isset($_POST["login"]); // Recupera a senha, a criptografando em MD5 //$senha = isset($_POST["senha"]); $login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE; $senha = isset($_POST["senha"]) ? trim($_POST["senha"]) : FALSE; // Usuário não forneceu a senha ou o login if(!$login || !$senha) { echo "Você deve digitar sua senha e login!"; exit; } /** * Executa a consulta no banco de dados. * Caso o número de linhas retornadas seja 1 o login é válido, * caso 0, inválido. */ $query = "SELECT associacao_id, razao_social, login, senha FROM associacao WHERE login = '$login '"; $result_id = mysql_query($query) or die("Erro no banco de dados!"); $total = mysql_num_rows($result_id); // Caso o usuário tenha digitado um login válido o número de linhas será 1.. if($total) { // Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão $dados = mysql_fetch_array($result_id); // Agora verifica a senha if(!strcmp($senha, $dados["senha"]) ) { // TUDO OK! Agora, passa os dados para a sessão e redireciona o usuário $_SESSION["id_usuario"] = $dados["associacao_id"]; $_SESSION["nome_usuario"] = stripslashes($dados["razao_social"]); header("Location: principal.php"); exit; } // Senha inválida else { echo "Senha inválida!"; exit; } } // Login inválido else { echo "O login fornecido por você é inexistente!"; exit; } ?>Após me logar cmo essa pagina. principal.php essa página chama o veri_login.php<?php // Inicia sessões session_start(); // Verifica se existe os dados da sessão de login if(!isset($_SESSION["id_usuario"]) || !isset($_SESSION["nome_usuario"])) { // Usuário não logado! Redireciona para a página de login header("Location: index.htm"); exit; } ?>se aperta no link sair da pagina principal.php chama o sair.php<?php // Inicia sessões, para assim poder destruí-las session_start(); session_destroy(); header("Location: index.htm"); ?>Mas daí que tá o problema, a sessão so se destroi se o sair.php for chamado.... dai um colega aqui do forum me deu esse script, que expira a sessão...session_cache_limiter('private'); $cache_limiter = session_cache_limiter(); /* Define o limite de tempo do cache em 30 minutos */ session_cache_expire (30); $cache_expire = session_cache_expire();esse comando expira a sessão, mas onde usar ele....
e tambem não tem como ele chamar outra pagina quando for expirado a sessão...dai nessa pagina daria par5a botar o ssesion_destroi()..
Se voces poderem me ajudar valeu.....
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.