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

Abrir página somente se o usuário estiver logado


mm_edilson

Pergunta

Olá. Tenho uma página de login, que salvei como index.php. Quando o usuário entra com login e senha corretos, a página redireciona para outra página, a index2.php. É uma página independente, não sendo viável no meu projeto colocá-la como um include na página principal.

Tudo funciona. Exceto que, se o usuário, sem logar, digitar o endereço completo da página, ou seja, www.meusite.com.br/index2.php, ela abre normalmente. Como fazer para que ela não abra, se não passar antes pela página de login?

Esta é minha página index.php:

</style>
<?php include('app/connection.php'); ?>
</head>
<body>

<div id="corpo">
<center><img src="app/img/logo.png" width="500" height="210"></center></div><BR>

    <div id="paginas">

    <?php 
    @session_start();
    include('valida_user.php');
    ?>
 </div>

Esta é a página valida_user.php

<?php 
        @session_start();
        if(isset($_POST['enviar'])){
            $usuario = $_POST['usuario'];
            $senha = $_POST['senha'];
            if($usuario ==''){echo "<h4>Por favor, insira um nome de usuário válido</h4>";
            }else if($senha ==''){echo "<h4>Por favor, insira sua senha</h4>";
        }else{
            $sql = "SELECT * FROM usuarios WHERE usuario = '$usuario' AND senha = '$senha' ";
            $result = mysqli_query($conexao, $sql);
            if(mysqli_num_rows($result) > 0){
                while($res = mysqli_fetch_array($result)){
                    $ativo = $res['ativo'];
                    $nivel = $res['nivel'];
                    $usuario = $res['usuario'];
                    $senha = $res['senha'];
                    $email = $res['email'];
                    $nome = $res['nome'];
                    $cadastro = $res['cadastro'];
    header("Location: index2.php"); 
    exit;
            }
                }else{
                    echo "<center><h3>Usuário ou senha inválidos</h3></center>"; }
                     }
        }
        ?>

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

A minha sugestão é colocar isso no começo do index2.php

session_start();
if(!isset($_SESSION["usuario"])){
	header("location:index.php");exit;}

Mas é preciso definir o $_SESSION["usuario"] no código valida_user.php, senão quem está devidamente cadastrado não vai conseguir entrar na página index2.php.

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