Bom dia,
Estou com um problema no meu login, o que sucede é que quando efetuo o login ele não faz nada, meti uns echo's para ver onde estava o erro mas ele passa por todos os passos como podem ver...
http://prntscr.com/16w9ez
Código (PHP):
Código (HTML):
Neste caso tenho a action="login.php" para verificar que tenho que fazer o login a segunda vez, se tiver para o index.php ele entra no index.php sem iniciar a sessão.
Mas se fizer o login novamente ele inicia a variável de sessão, como podem ser na imagem a sublinhado, ou seja, efetua o login.
http://prntscr.com/16w9ry
O objetivo é fazer login a primeira como é óbvio.
Se me conseguirem ajudar...
Cumprimentos
Estou com um problema no meu login, o que sucede é que quando efetuo o login ele não faz nada, meti uns echo's para ver onde estava o erro mas ele passa por todos os passos como podem ver...
http://prntscr.com/16w9ez
Código (PHP):
<?php
echo "passei aqui 1 ";
if(isset($_GET['erro'])) //SE EXISTIR ERRO
echo 'Erro no login. Tente novamente.';
echo $_SESSION['username'];
echo "passei aqui 2 ";
$consulta="select * from utilizadores where username='" . $_POST['username'] . "' and passwd='" . $_POST['passwd'] . "'";
$resultado=mysql_query($consulta);
if (mysql_num_rows($resultado)>0) //SE O EMAIL E A PASSWORD COINCIDIREM
{
echo "passei aqui 3 ";
//COLOCA NA VARIAVEL LINHA OS DADOS DA CONSULTA
$linha=mysql_fetch_array($resultado);
//COLOCA O USERNAME EM SESSAO
$_SESSION['username']=$linha['username'];
}
else //CASO NAO COINCIDAM
{
echo "passei aqui 4 ";
//REDIRECCIONA PARA A PAGINA INICIAL REPORTANDO O ERRO
header("location: login.php?erro=1");
}
?>
echo "passei aqui 1 ";
if(isset($_GET['erro'])) //SE EXISTIR ERRO
echo 'Erro no login. Tente novamente.';
echo $_SESSION['username'];
echo "passei aqui 2 ";
$consulta="select * from utilizadores where username='" . $_POST['username'] . "' and passwd='" . $_POST['passwd'] . "'";
$resultado=mysql_query($consulta);
if (mysql_num_rows($resultado)>0) //SE O EMAIL E A PASSWORD COINCIDIREM
{
echo "passei aqui 3 ";
//COLOCA NA VARIAVEL LINHA OS DADOS DA CONSULTA
$linha=mysql_fetch_array($resultado);
//COLOCA O USERNAME EM SESSAO
$_SESSION['username']=$linha['username'];
}
else //CASO NAO COINCIDAM
{
echo "passei aqui 4 ";
//REDIRECCIONA PARA A PAGINA INICIAL REPORTANDO O ERRO
header("location: login.php?erro=1");
}
?>
Código (HTML):
<form class="login_form" method="POST" id="formulario" action="login.php">
<label for="username">Utilizador</label>
<input type="text" name="username" id="username" value="" />
<label for="passwd">Palavra–Passe</label>
<input type="password" name="passwd" id="passwd" value=""/>
<input type="submit" name="login" id="login" value="Login" />
</form>
<label for="username">Utilizador</label>
<input type="text" name="username" id="username" value="" />
<label for="passwd">Palavra–Passe</label>
<input type="password" name="passwd" id="passwd" value=""/>
<input type="submit" name="login" id="login" value="Login" />
</form>
Neste caso tenho a action="login.php" para verificar que tenho que fazer o login a segunda vez, se tiver para o index.php ele entra no index.php sem iniciar a sessão.
Mas se fizer o login novamente ele inicia a variável de sessão, como podem ser na imagem a sublinhado, ou seja, efetua o login.
http://prntscr.com/16w9ry
O objetivo é fazer login a primeira como é óbvio.
Se me conseguirem ajudar...
Cumprimentos