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("<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("<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("<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!