Eae galera!
Dando continuidade ao post anterior, que tratava do assunto Sistema de Login em PHP, vamos agora ver como criar uma sessão.
Como validar uma sessão em PHP
Antes de iniciar os trabalhos com sessão, segue uma definição básica retirada do glossário da uol:
Sessão:
Espaço de tempo compreendido entre o início e o fim da navegação de um usuário na Internet.
Segue conforme prometido o código php que valida uma sessão, iniciada neste post [Como fazer um sistema de Login em PHP].
<?php
session_start();
if(IsSet($_SESSION["nome_usuario"]))
$nome_usuario = $_SESSION["nome_usuario"];
if(IsSet($_SESSION["senha_usuario"]))
$senha_usuario = $_SESSION["senha_usuario"];
if(!(empty($nome_usuario) OR empty($senha_usuario)))
{
include "conecta_mysql.inc";
$resultado = mysql_query("SELECT * FROM usuarios
WHERE username='$nome_usuario'");
if(mysql_num_rows($resultado) == 1)
{
if($senha_usuario != mysql_result($resultado,0,"senha"))
{
unset($_SESSION["nome_usuario"]);
unset($_SESSION["senha_usuario"]);
echo "Você não efetuou o LOGIN!";
echo '<br><a href="index.htm">Fazer login.</a>';
exit;
}
}
else
{
unset ($_SESSION["nome_usuario"]);
unset ($_SESSION["senha_usuario"]);
echo "Você não efetuou o LOGIN!";
echo '<br><a href="index.htm">Fazer login.</a>';
exit;
}
}
else
{
echo "Você não efetuou o LOGIN!";
echo '<br><a href="index.htm">Fazer login.</a>';
exit;
}
mysql_close($con);
?>
NOTA: Para este código funcionar, o script de conexão ao banco também é necessário, para ver o script, clique aqui.
Este código funciona mais ou menos assim: as variáveis nome_usuário e senha_usuário são enviadas à seção (que é iniciada com a chamada session_start(). No caso deste exemplo, a seção se inicia ao efetuar o login (post anterior)).
Ao validar o usuário no login, estas duas variáveis são enviadas a seção, e o que este código faz é apenas uma busca no banco de dados para verificar se o usuário que está acessando a página pode ou não ver o conteúdo. Se o usuário estivesse tentando acessar uma página interna do sistema sem estar logado, sem utilizar sessão ele conseguiria, utilizando este código que valida a sessão logo no início do acesso ele não vai conseguir e vai ser enviado novamente à página de login.
Para esta idéia de validar uma seção funcionar você deve incluir uma chamada para este código via “include valida_sessao.inc
” no início das páginas necessárias.
Até a próxima!
😉