Estou com problemas... o Logout não funciona de jeito nenhum. Ele redireciona para a página indicada, mas se apertar o botão voltar ele volta normalmente para o sistema ativo.
Alguém pode me ajudar?
Arquivo: login.php
<?
session_start();
include "../config.php"; //inclui o arquivo de conexão
$nome = trim($_POST['nome']);
$login = trim($_POST['login']);
$senha = trim($_POST['senha']);
$email = trim($_POST['email']);
$confirmacao = mysql_query("SELECT * FROM login WHERE login = '$login' AND senha = '$senha'", $conexao); //verifica se o login e a senha conferem
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima
if ( $contagem == 1 ) {
setcookie ("login", $login, time(0)); //grava o cookie com o login
setcookie ("senha", $senha, time(0)); //grava o cookie com a senha
header ("Location: http://www.regratecn...esa/layout.php");
} else {
echo "<div align=center><font face=arial size=2 color=#ff0000><br>Login ou Senha inválido!</div>";
}
?>
Arquivo: logout.php
<?
session_start();
if (isset($_SESSION['login'])){
session_unset(); // Eliminar todas as variáveis da sessão
session_destroy(); // Destruir a sessão
echo "Entre. Sessão Destruida. <a href=\"../index.php\"</a><br>";
} else {
echo "Acesso não autenticado!";
}
?>

Logout Não Funciona
Started By renatagramos, 21/03/2011, 16:53
6 replies to this topic
#1
Posted 21/03/2011, 16:53
#2
Posted 23/03/2011, 17:12
Você colocou algum script nas páginas para verificar se o usuário está logado ou não?
Porque caso não tenha colocado o efeito do logout realmente não irá funcionar, melhor irá funcionar só que quando você entra na página que não tem um controle de login o acesso é permitido normalmente já que nenhum script valida o acesso.
Um exemplo bem básico é você colocar nas suas páginas onde o usuário teria que esta logado algo do tipo:
Só mesmo tirando a sua dúvida no mais cabe agora verificar as questões de autenticação e segurança!
Porque caso não tenha colocado o efeito do logout realmente não irá funcionar, melhor irá funcionar só que quando você entra na página que não tem um controle de login o acesso é permitido normalmente já que nenhum script valida o acesso.
Um exemplo bem básico é você colocar nas suas páginas onde o usuário teria que esta logado algo do tipo:
// verifica se o usuário possui um login valido na sessão if(empty($_SESSION['login'])) { // exibe uma mensagem de acesso negado ou algo do tipo // e redireciona o usuário para página de login // ou realize a ação que desejar echo 'Acesso não autorizado!'; }
Só mesmo tirando a sua dúvida no mais cabe agora verificar as questões de autenticação e segurança!
#3
Posted 24/03/2011, 10:31
Eu não coloquei isso nas páginas, mas vou tentar agora.
Você não tem um código de logout melhor que o meu? ou de login também....
Muito obrigada pela dica.
Você não tem um código de logout melhor que o meu? ou de login também....
Muito obrigada pela dica.
#4
Posted 29/03/2011, 11:53
Eu não coloquei isso nas páginas, mas vou tentar agora.
Você não tem um código de logout melhor que o meu? ou de login também....
Muito obrigada pela dica.
Não funcionou

#5
Posted 31/03/2011, 16:26
Ola renatagramos olha esse sistema de login / logout funciona direitinho?
http://diegodevelope...iego-developer/
Espero que ajude ? Diego Bezerra
http://diegodevelope...iego-developer/
Espero que ajude ? Diego Bezerra
#6
Posted 04/04/2011, 09:56
coloca um link em seu sistema/site que manda pra página que tem esse código >>>
vai funcionar !
session_start(); session_destroy(); echo("<script>setTimeout(\"window.location.href='./'\",1);</script>");
vai funcionar !

#7
Posted 05/04/2011, 17:25
Olá, pessoal!!!
Está funcionando perfeito!!! Consegui assim...
LOGIN.PHP
<?php
include "../config.php"; //inclui o arquivo de conexão
$nome = trim($_POST['nome']);
$login = trim($_POST['login']);
$senha = trim($_POST['senha']);
$email = trim($_POST['email']);
$confirmacao = mysql_query("SELECT * FROM login WHERE login = '$login' AND senha = '$senha'", $conexao); //verifica se o login e a senha conferem
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima
session_start();
if ( $contagem == 1 ) {
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
echo "<script>location.href='http://www.regratecnologia.com.br/siesa/layout.php'</script>"; //entra na pagina restrita
} else {
echo "<div align=center><font face=arial size=2 color=#ff0000><br>Login ou Senha inválido!</div>";}
?>
<p align="center"><a href="javascript:history.go(-1)"><img src="../imagens/voltar.jpg" alt="Voltar" border="0" align="center"></a>
LOGOUT.PHP
<?php
session_start();
unset($_SESSION["login"]); // tira seleção da variável
unset($_SESSION["senha"]); // tira seleção da variável
session_destroy(); // destroi
header("location: ../index.php"); // vai para a página
?>
E EM TODAS AS PÁGINAS RESTRITAS:
<?php
include "../config.php"; //inclui o arquivo de conexão
session_start(); // começa a session
if(!isset($_SESSION["login"])){
echo "ACESSO NEGADO";
}else{
$login = $_SESSION["login"];
$sql = mysql_query("SELECT * FROM login WHERE login='$login'") or die("O nome de Utilizador ou Senha está incorrecto. MySQL erro:".mysql_error()); // vê se o username existe ou não
$result = mysql_fetch_array($sql); // põem as informações da database numa array
?>
*** Códigos HTML ***
<?php
}
?>
Olá, pessoal!!!
Está funcionando perfeito!!! Consegui assim...
LOGIN.PHP
LOGOUT.PHP
E EM TODAS AS PÁGINAS RESTRITAS:
Está funcionando perfeito!!! Consegui assim...
LOGIN.PHP
<?php
include "../config.php"; //inclui o arquivo de conexão
$nome = trim($_POST['nome']);
$login = trim($_POST['login']);
$senha = trim($_POST['senha']);
$email = trim($_POST['email']);
$confirmacao = mysql_query("SELECT * FROM login WHERE login = '$login' AND senha = '$senha'", $conexao); //verifica se o login e a senha conferem
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima
session_start();
if ( $contagem == 1 ) {
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
echo "<script>location.href='http://www.regratecnologia.com.br/siesa/layout.php'</script>"; //entra na pagina restrita
} else {
echo "<div align=center><font face=arial size=2 color=#ff0000><br>Login ou Senha inválido!</div>";}
?>
<p align="center"><a href="javascript:history.go(-1)"><img src="../imagens/voltar.jpg" alt="Voltar" border="0" align="center"></a>
LOGOUT.PHP
<?php
session_start();
unset($_SESSION["login"]); // tira seleção da variável
unset($_SESSION["senha"]); // tira seleção da variável
session_destroy(); // destroi
header("location: ../index.php"); // vai para a página
?>
E EM TODAS AS PÁGINAS RESTRITAS:
<?php
include "../config.php"; //inclui o arquivo de conexão
session_start(); // começa a session
if(!isset($_SESSION["login"])){
echo "ACESSO NEGADO";
}else{
$login = $_SESSION["login"];
$sql = mysql_query("SELECT * FROM login WHERE login='$login'") or die("O nome de Utilizador ou Senha está incorrecto. MySQL erro:".mysql_error()); // vê se o username existe ou não
$result = mysql_fetch_array($sql); // põem as informações da database numa array
?>
*** Códigos HTML ***
<?php
}
?>
Olá, pessoal!!!
Está funcionando perfeito!!! Consegui assim...
LOGIN.PHP
<?php include "../config.php"; //inclui o arquivo de conexão $nome = trim($_POST['nome']); $login = trim($_POST['login']); $senha = trim($_POST['senha']); $email = trim($_POST['email']); $confirmacao = mysql_query("SELECT * FROM login WHERE login = '$login' AND senha = '$senha'", $conexao); //verifica se o login e a senha conferem $contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima session_start(); if ( $contagem == 1 ) { $_SESSION['login'] = $login; $_SESSION['senha'] = $senha; echo "<script>location.href='http://www.regratecnologia.com.br/siesa/layout.php'< /script>"; //entra na pagina restrita } else { echo "<div align=center><font face=arial size=2 color=#ff0000><br>Login ou Senha inválido!</div>";} ?> <p align="center"><a href="javascript:history.go(-1)"><img src="../imagens/voltar.jpg" alt="Voltar" border="0" align="center"></a>
LOGOUT.PHP
<?php session_start(); unset($_SESSION["login"]); // tira seleção da variável unset($_SESSION["senha"]); // tira seleção da variável session_destroy(); // destroi header("location: ../index.php"); // vai para a página ?>
E EM TODAS AS PÁGINAS RESTRITAS:
<?php include "../config.php"; //inclui o arquivo de conexão session_start(); // começa a session if(!isset($_SESSION["login"])){ echo "ACESSO NEGADO"; }else{ $login = $_SESSION["login"]; $sql = mysql_query("SELECT * FROM login WHERE login='$login'") or die("O nome de Utilizador ou Senha está incorrecto. MySQL erro:".mysql_error()); // vê se o username existe ou não $result = mysql_fetch_array($sql); // põem as informações da database numa array ?> *** Códigos HTML *** <?php } ?>
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)