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

variavel de sessão não ta funcionando


AlexSouza

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia, cara como você não mostrou nada a respeito do que você fez vou postar um exemplo básico de sessão e como validar ela beleza

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <style type="text/css">
            body{
                margin-top: 140px;
            }
            .login{
                border: 1px dashed black;
                width: 250px;
                margin: 0 auto;
                height: 120px;
                font-size: 13px;
                padding: 15px
            }
        </style>
    </head>
    <body>
        <div class="login">
            <form action="login.php" method="post">
                Login<br/>
                <input type="text" name="login"/><br/>
                Senha:<br/>
                <input type="password" name="senha"/><br/>
                <input type="submit" value="Login"/>
            </form>

        </div>
    </body>
</html>
login.php
<?php
header('Content-Type: text/html; charset=utf-8');

$login = $_POST['login'];
$senha = $_POST['senha'];

if($login == 'admin' && $senha == '1234'){
    session_start();
    $_SESSION['logado'] = $login;
    header("Location: pagina.php");
}else{
    echo "Usuario ou senha errado";
}
?>
pagina.php
<?php
include 'validar_sessao.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <h1>Logado:<?php echo $logado; ?></h1>

        <form action="logout.php" method="post">
            <input type="submit" value="logout"/>
        </form>
    </body>
</html>
validar_sessao.php
<?php
header('Content-Type: text/html; charset=utf-8');
session_start();

if(isset($_SESSION['logado'])){
    $logado = $_SESSION['logado'];
}else{
    header("Location: index.php");
}
?>
logout.php
<?php
header('Content-Type: text/html; charset=utf-8');
session_start();

if(isset($_SESSION['logado'])){
    unset($_SESSION['logado']);
}

session_destroy();
header("Location: index.php");
?>

Bom o que acontece aqui.

Você efetua o login com usuario: admin senha: 1234 o sistema irá verificar se ambos estão corretos. Feito essa verificação o sistema irá criar uma sessão com o nome "logado" ( $_SESSION['logado'] ) e irá redirecionar a página para o arquivo pagina.php.

Nessa pagina existe um include no começo include 'validar_sessao.php'.

Esse arquivo sera responsável por validar se o usuario fez o login no sistema, assim não permitindo que pessoas que não tenham feito o login consigam abrir a página.

Para testar se a validação está funcionando é só você tentar abrir pagina.php sem ter feito o login e ver que você automaticamente será redirecionado para o index.php para fazer o login.

Bom espero que isso lhe ajude em algo.

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