Pessoal queria fazer uma funcao para colocar nas paginas que checasse se o usuario esta logado se ele estiver mantem a pagina se nao ele redireciona para a de login:
ex.:
funcao.php:
<?
function validasessao()
{
if(!$_SESSION)
{
header ("Location: index.php?acao=logar");
exit;
}
}
?>
e nas paginas assim:
teste.php:
<?
include 'funcoes.php';
validasessao();
?>
agora vem o conteudo caso ele esteja logado
vlw e que eu nao sei como fazer!
E ae meu irmão!
Tudo na paz...?
Eu já passei por esse problema.
Existem diversas maneiras de resolver isso!
Deixa eu te mostrar uma delas.
Quando o usuário fizer o login, você precisa armazenar os dados desse usuário para checar se ele está logado ou não.
Quando o login falha é porque tem algo errado, ou o nome do usuário está errado ou a senha está errada. Mas se tudo der certo,
O usuário vai entrar no sistema e você pode pegar a consulta realizada no banco de dados para utilizar os dados mais tarde.
<?php
//iniciar a sessão
session_start();
//usuário que acessou o login
$usuario = $resultado_do_banco_de_dados;
//colocar o usuário na sessão
$_SESSION['usuario_logado'] = $usuario;
$_SESSION['usuario_logado']['logado'] = true;
?>
Com isso você vai guardar os dados do usuário na sessão, lembrando que essa variável "$resultado_do_banco_de_dados" vai ter a consulta
realizada no banco de dados quando o usuário realiza o login.
Esse código você coloca na página que está verificando se o usuário conseguiu logar no sistema.
Para realizar a checagem em todas as outras páginas você pode criar outro arquivo só com essa função, para que você não precise ficar digitando as funções todas as vezes que precisar verificar o login.
<?php
//iniciar a sessão
session_start();
function verificaLogin()
{
//verifica se existe uma sessão com esse nome
if( isset( $_SESSION['usuario_logado'] ) )
{
//se existir você checa se o usuário armazenado nesta sessão está logado
//utilizando a variável que você guardou antes na sessão
if( $_SESSION['usuario_logado']['logado'] )
{
//o usuário está logado
}else{
//senão estiver logado você redireciona ele para a página que você quer.
header('Location: index.php');//aqui você substitui index.php pelo página que você quer
}
}else{
//se a variável não estiver na sessão, é sinal que não existe ninguém logado
header('Location: index.php');//aqui você substitui index.php pelo página que você quer
}
}
?>
Para checar o login nas outras páginas você só precisa incluir esse arquivo e chamar a função
Exemplo:
<?php
session_start();
include_once "verifica_login.php";
verificaLogin();
?>
E para realizar o logout
Você precisa fazer outra página.
para limpar a sessão.
arquivo logout.php
<?php
//iniciar a sessão
session_start();
//destruir a sessão
unset( $_SESSION['usuario_logado' );
session_destroy();
//redirecionar para a página que você quer.
header('Location: index.php');
?>
Espero ter ajudado!
Abraços!