Ir para conteúdo
Fórum Script Brasil
  • 0

Logout não Funciona


Sérgio Murillo

Pergunta

Olá amigos,

Estou com um problema na minha pagina de logout e gostaria de saber onde estou errando.

Segue abaixo pagina de login e de logout.

Login.php

<?PHP
    session_start();
        require "../Classes/Conecta.php";
     if (isset ($_SERVER["PHP_AUTH_USER"]) || isset ($_SERVER["PHP_AUTH_PW"]))
      {
        $Login = $_SERVER["PHP_AUTH_USER"]; //$_POST["Login"];
        $Senha = md5($_SERVER["PHP_AUTH_PW"]); //md5($_POST["Senha"]);
      }
        $sql = "SELECT * FROM users WHERE Login ='". $Login ."' AND Senha = '". $Senha ."'";
        $exe = mysql_query($sql) or die (mysql_error());
        if (mysql_affected_rows() == 0)        
            {
                header('WWW-Authenticate: Basic realm = "Acesso Restrito"');
                header('HTTP/1.0 401 Unauthorized');
                echo '<center><h1>Acesso Restrito</h1></center>';
                exit;
            }
        else
            {
                        $_SESSION["Login"] = $Login;                        
                        $_SESSION["Senha"] = $Senha;
            }
?>
<!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=iso-8859-1" />
<title>Untitled Document</title>
<link href="../Style.css" rel="stylesheet" type="text/css" media="all" />
</head>

<body >
<table width="132" border="0">
  <tr>
    <td width="103" class="style1"><?PHP echo $_SESSION["Login"]; ?> <a href="Logout.php" title="Logout"> Logout</a></td>
  </tr>
  <tr>
    <td><a href="../Enviar Noticia.php" title="Adcionar Noticia" target="_blank">Adicionar Noticia</a></td>
  </tr>
  <tr>
    <td><a href="AlterKey.php" title="Alterar Senha" target="_blank">Alterar Senha</a></td>
  </tr>
</table>
</body>
</html>
Logout.php
<?php
    session_start();
    session_unset();
    session_destroy();

    header("Location: Login.php");
?>

Onde estou errando ?

como fazer para o logout funcionar corretamente.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Salve,

Tenta ai

<?php
//INICIALIZA SESSION;
session_start();

//REINICIALIZA SESSION
$_SESSION = array();

//ZERA ESSA VARIAVEIS
$_SERVER["PHP_AUTH_USER"]   = null;
$_SERVER["PHP_AUTH_PW"]     = null;

//MATA AS VARIAVEIS DA SESSION;
session_unset();

//ELIMINIA(REINICIALIZA) SESSION;
session_destroy();

//REDIRECIONA PARA O LOGIN
header("Location: Login.php");

//PARA EXECUCAO DO SCRIPT
exit();
?>
<?php
    session_start();
    session_unset();
    session_destroy();

    header("Location: Login.php");
?>

Link para o comentário
Compartilhar em outros sites

  • 0
Salve,

Tenta ai

<?php
//INICIALIZA SESSION;
session_start();

//REINICIALIZA SESSION
$_SESSION = array();

//ZERA ESSA VARIAVEIS
$_SERVER["PHP_AUTH_USER"]   = null;
$_SERVER["PHP_AUTH_PW"]     = null;

//MATA AS VARIAVEIS DA SESSION;
session_unset();

//ELIMINIA(REINICIALIZA) SESSION;
session_destroy();

//REDIRECIONA PARA O LOGIN
header("Location: Login.php");

//PARA EXECUCAO DO SCRIPT
exit();
?>
<?php
    session_start();
    session_unset();
    session_destroy();

    header("Location: Login.php");
?>

Obrigado pela resposta amigo.

Infelizmente não fucionou.

Link para o comentário
Compartilhar em outros sites

  • 0

Como sou teimoso

Para o internet explorer

users.sql

/*Table structure for table `users` */

DROP TABLE IF EXISTS `users`;

CREATE TABLE `users` (
  `Login` varchar(255) DEFAULT NULL,
  `Senha` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `users` */

insert  into `users`(`Login`,`Senha`) values ('root','63a9f0ea7bb98050796b649e85481845');
Login.php
<?PHP
session_start();

error_reporting(E_ALL & ~E_NOTICE | E_STRICT);

mysql_connect('localhost','root','');
mysql_select_db('test');
//require "../Classes/Conecta.php";
if (isset ($_SERVER["PHP_AUTH_USER"]) || isset ($_SERVER["PHP_AUTH_PW"]))
{
    $Login = $_SERVER["PHP_AUTH_USER"]; //$_POST["Login"];
    $Senha = md5($_SERVER["PHP_AUTH_PW"]); //md5($_POST["Senha"]);
}
$sql = "SELECT * FROM users WHERE Login ='". $Login ."' AND Senha = '". $Senha ."'";
$exe = mysql_query($sql) or die (mysql_error());
if (mysql_affected_rows() == 0)        
{
    header('WWW-Authenticate: Basic realm = "Acesso Restrito"');
    header('HTTP/1.0 401 Unauthorized');
    echo '<center><h1>Acesso Restrito</h1></center>';
    exit;
}
else
{
    $_SESSION["Login"] = $Login;                        
    $_SESSION["Senha"] = $Senha;
}
?>
<!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=iso-8859-1" />
<title>Untitled Document</title>
<link href="../Style.css" rel="stylesheet" type="text/css" media="all" />
</head>

<body >
<table width="132" border="0">
  <tr>
    <td width="103" class="style1"><a href="Logout.php" title="Logout"> Logout</a></td>
  </tr>
  <tr>
    <td><a href="../Enviar Noticia.php" title="Adcionar Noticia" target="_blank">Adicionar Noticia</a></td>
  </tr>
  <tr>
    <td><a href="AlterKey.php" title="Alterar Senha" target="_blank">Alterar Senha</a></td>
  </tr>
</table>
</body>
</html>
Logout.php
<?php
//INICIALIZA SESSION;
session_start();

//REINICIALIZA SESSION
$_SESSION = array();

//ZERA ESSA VARIAVEIS
unset($_SERVER["PHP_AUTH_USER"]);
unset($_SERVER["PHP_AUTH_PW"]);

//ELIMINIA(REINICIALIZA) SESSION;
session_destroy();

//PARA O INTERNET EXPLORER
echo '
        <script type="text/javascript">
            try{
                document.execCommand("ClearAuthenticationCache");
                location.href="Login.php?'.time().'";
            }catch(e){
                alert(e)
            }
        </script>
';
exit;

?>

Testem por favor

ah, esqueci de colocar

usuario: root

senha: root

Link para o comentário
Compartilhar em outros sites

  • 0
Como sou teimoso

Para o internet explorer

users.sql

/*Table structure for table `users` */

DROP TABLE IF EXISTS `users`;

CREATE TABLE `users` (
  `Login` varchar(255) DEFAULT NULL,
  `Senha` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `users` */

insert  into `users`(`Login`,`Senha`) values ('root','63a9f0ea7bb98050796b649e85481845');
Login.php
<?PHP
session_start();

error_reporting(E_ALL & ~E_NOTICE | E_STRICT);

mysql_connect('localhost','root','');
mysql_select_db('test');
//require "../Classes/Conecta.php";
if (isset ($_SERVER["PHP_AUTH_USER"]) || isset ($_SERVER["PHP_AUTH_PW"]))
{
    $Login = $_SERVER["PHP_AUTH_USER"]; //$_POST["Login"];
    $Senha = md5($_SERVER["PHP_AUTH_PW"]); //md5($_POST["Senha"]);
}
$sql = "SELECT * FROM users WHERE Login ='". $Login ."' AND Senha = '". $Senha ."'";
$exe = mysql_query($sql) or die (mysql_error());
if (mysql_affected_rows() == 0)        
{
    header('WWW-Authenticate: Basic realm = "Acesso Restrito"');
    header('HTTP/1.0 401 Unauthorized');
    echo '<center><h1>Acesso Restrito</h1></center>';
    exit;
}
else
{
    $_SESSION["Login"] = $Login;                        
    $_SESSION["Senha"] = $Senha;
}
?>
<!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=iso-8859-1" />
<title>Untitled Document</title>
<link href="../Style.css" rel="stylesheet" type="text/css" media="all" />
</head>

<body >
<table width="132" border="0">
  <tr>
    <td width="103" class="style1"><a href="Logout.php" title="Logout"> Logout</a></td>
  </tr>
  <tr>
    <td><a href="../Enviar Noticia.php" title="Adcionar Noticia" target="_blank">Adicionar Noticia</a></td>
  </tr>
  <tr>
    <td><a href="AlterKey.php" title="Alterar Senha" target="_blank">Alterar Senha</a></td>
  </tr>
</table>
</body>
</html>
Logout.php
<?php
//INICIALIZA SESSION;
session_start();

//REINICIALIZA SESSION
$_SESSION = array();

//ZERA ESSA VARIAVEIS
unset($_SERVER["PHP_AUTH_USER"]);
unset($_SERVER["PHP_AUTH_PW"]);

//ELIMINIA(REINICIALIZA) SESSION;
session_destroy();

//PARA O INTERNET EXPLORER
echo '
        &lt;script type="text/javascript">
            try{
                document.execCommand("ClearAuthenticationCache");
                location.href="Login.php?'.time().'";
            }catch(e){
                alert(e)
            }
        </script>
';
exit;

?>

Testem por favor

ah, esqueci de colocar

usuario: root

senha: root

Perfeitamente amigão. Muito Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0
Salve,

Tenta ai

<?php
//INICIALIZA SESSION;
session_start();

//REINICIALIZA SESSION
$_SESSION = array();

//ZERA ESSA VARIAVEIS
$_SERVER["PHP_AUTH_USER"]   = null;
$_SERVER["PHP_AUTH_PW"]     = null;

//MATA AS VARIAVEIS DA SESSION;
session_unset();

//ELIMINIA(REINICIALIZA) SESSION;
session_destroy();

//REDIRECIONA PARA O LOGIN
header("Location: Login.php");

//PARA EXECUCAO DO SCRIPT
exit();
?>

Cara essa dica matou meu problema que já levava um tempinho foi excelente parabéns e muito obrigado...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...