Jump to content

Log out de uma sessão


cristpate

Recommended Posts

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. 😄

Melhores comp

bullSQUID

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.