Jump to content
Fórum Script Brasil
  • 0

Dúvida com relação a Login


churrumino

Question

Olá, pessoal.

A situação é a seguinte, sou leigo em PHP, herdei aqui na empresa o site da empresa e um sisteminha que é como uma extranet da moça que trabalhava aqui no setor e saiu, isso já faz cerca de um ano.

Com o site da empresa eu consigo me virar legal, a Extranet sempre funcionou sem problemas até hoje, mas acabo de me deparar com um problema que não sei como resolver com relação à Extranet...

Ao entrar no endereço, é apresentado ao usuário uma tela de login, pedindo usuário e senha e um botão Entrar.

Ao preencher os dados e clicar em entrar, eu, ou qualquer outro usuário que testei, sou jogado de volta para a mesma tela de login. Se coloco os dados errados (como o meu usuário e a senha errada) ele apresenta a mensagem de "Usuário ou senha inválidos!" como deveria.

Eis o código referente a essa página..

<form method="post" action="../acoes/autentica.php">
        <p>Nome de Usuário:<br>
                   <input type="text" name="login" id="login">
                <br>
                <span class="mensagens">
                    <?php
                        if (isset($_REQUEST['slog'])){
                            echo("Digite seu nome de usuário <br>");
                            echo("&lt;script type=\"text/javascript\">document.getElementById(\"login\").focus();</script><br>"); 
                        }
                    ?>
                </span>
                <br>
                Senha:<br> 
                <input type="password" name="senha" id="senha">
                <br>
                <span class="mensagens">
                    <?php
                        if (isset($_REQUEST['ssen'])){
                            echo("Digite sua senha <br>");
                            echo("&lt;script type=\"text/javascript\">document.getElementById(\"login\").value = \"".$_REQUEST['ssen']."\"\n");
                            echo("document.getElementById(\"senha\").focus();</script><br>"); 
                        }
                    ?>
                </span>
                <br>
                <input type="submit" value="Entrar">
                <span class="mensagens">
                    <?php
                        if (isset($_REQUEST['fusu'])){
                            echo("<br>Usuário ou senha inválidos!");
                            echo("&lt;script type=\"text/javascript\">document.getElementById(\"login\").value = \"".$_REQUEST['fusu']."\"\n");
                            echo("document.getElementById(\"senha\").focus();</script>"); 
                        }
                    ?>
                </span>
E eis o que consta no arquivo /acoes/autentica.php..
<?php

    require("../uteis/conexao.php");
    
    if((isset($_POST['login']) == false) || (trim($_POST['login']) == "")){
        header("Location: ../paginas/login.php?slog=x");
        exit;
    }
    if((isset($_POST['senha']) == false) || (trim($_POST['senha']) == "")){
        header("Location: ../paginas/login.php?ssen=".$_POST['login']);
        exit;
    }
    
    $login = strtolower($_POST['login']);
    $senha = sha1($_POST['senha']);
    
    $sql = pg_query("select * from usuarios where login = '$login' and senha = '$senha'");
    
    if(!pg_num_rows($sql)){
        header("Location: ../paginas/login.php?fusu=".$_POST['login']);
        exit;
    }
    
    $dados = pg_fetch_assoc($sql);
    
    session_start();
    $_SESSION['login'] = $dados['login'];
    $_SESSION['nome'] = $dados['nome'];
    $_SESSION['tipo'] = $dados['tipo'];
    $_SESSION['id'] = $dados['id'];
    $_SESSION['email'] = $dados['email'];
    $_SESSION['logado'] = "parangaricutirimirruaro";
    
    if($_SESSION['tipo'] == 'admin'){
        header("Location: ../paginas/index_admin.php");
    }else{
        header("Location: ../paginas/index_geral.php");
    }
    exit;

?>

O banco de dados é PostgreSQL, aparentemente está funcionando corretamente pois há outras aplicações e inclusive o site que funcionam com esse mesmo banco.

Tudo isso é hospedado internamente aqui na empresa.

Alguém teria alguma ideia para me dar uma luz? Caso necessite de mais alguma informação pra auxiliar, é só pedir.

Obrigado!

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

então parceiro, tambem não sou muito bom em php, mas pelo que estou vendo eu acho, veja bem, eu acho, que existe uma falha na sua session,

eu sei que ela tem que esta no topo da página, acima de qualquer coisa, e depois disso existir somente um nome de session não vários nomes,

a forma de recuperar eles tambem deve manter o mesmo padrão.

segue um site para dar uma olhada

http://www.codigofonte.net/dicas/php/124_v...sessions-no-php

qualquer coisa da um grito felipe.macedo12@gmail.com

Link to comment
Share on other sites

  • 0

Certo, obrigado por responder, Felipe!

A sessão é iniciada na página autentica.php e depois segue nas páginas index_admin.php e index_geral.php com o seguinte código..

<?php
    require("../uteis/conexao.php");
    require("../uteis/funcoes.php");
    session_start();
    if($_SESSION['logado'] != "parangaricutirimirruaro")
        header("Location: login.php");
?>

Fiz vários testes de ontem pra hoje com a ajuda de outros fóruns também e amigos, me parece que não está segurando os dados da sessão.

Mas o que fazer pra consertar isso, eu não sei...

Link to comment
Share on other sites

  • 0

Ô pessoal, obrigado pela ajuda, descobri o que estava acontecendo.

A empresa que é responsável por esse servidor web havia feito uma modificação na configuração do PHP desabilitando os cookies pelo que parece. Por isso não estava funcionando!

Mesmo assim muito obrigado pela atenção.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...