• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

cristpate

Log out de uma sessão

4 mensagens neste tópico

como fazer log out de uma sessao e nao permitir que o utilizador volte a pagina anterior?

ajudem me

cristpate

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na página anterior verificas se o utilizador está em sessão, senão redireciona para outra página.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas!

Podes criar um ficheiro que, incluis em todos os teus ficheiros que abrangidos pela sessão, atravez do comando "include "<nome do ficheiro>";".

sessao.php

 
session_start();

//se nao tiver variaveis registadas
//mostra uma mensagem e o link para a  pagina login
//e utilizo o comando exit para parar a execução do script
if( (!isset($_SESSION[id])) AND (!isset($_SESSION[nome])) )
echo "Esta sessao expirou, por favor, faça login<a href='login.php'>aqui</a>.";exit;
?> 

Login.php

<?
session_start();
$con=mysql_connect("Localhost","root","");
$db=mysql_select_db("teste",$con);

//recebe os dados do formulario
$usuario = $_POST[txtUser];
$senha = $_POST[txtSenha];

$sql = mysql_query("SELECT ID_USUARIO, NOME_USUARIO FROM tb_usuarios WHERE USUARIO ='$usuario' AND SENHA = '$senha'") or die("ERRO NO COMANDO SQL");

//conta os registos retornados
$row = mysql_num_rows($sql);

//se nao retornar nada escreve uma mensagem
if($row == 0) echo "Usuário/Senha inválidos";

else {
//senao vai a tabela e retira informação
$id = mysql_result($sql, 0, "ID_USUARIO");
$nome = mysql_result($sql, 0, "NOME_USUARIO");

//grava as informações retiradas da tabela nas variaveis de sessao
$_SESSION[id] = $id;
$_SESSION[nome] = $nome;

//
echo "Clique <a href='home.php'>aqui</a> para prosseguir no site";  
} //FECHA ELSE
?> 

logout.php

<?
session_start();

//destroy as variavies de sessão criadas no login
unset($_SESSION[id]);
unset($_SESSION[nome]);

echo "Clique <a href='login.php'>aqui</a> para ir à tela de login.";
?

home.php

<?php
//como esta pagina é protegida pela sessao mete-se o comando include
include "sessao.php";
//se este método nao foncionar basta opiar o codigo do ficheiro para o headar da pagina
echo "<a href='logout.php'>Logout</a>";
?> 

Este código pode conter erros pois eu escrevi-o aqui sem testar antes. :D

Melhores comp

bullSQUID

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora