Jump to content
Sign in to follow this  
NCS_One

Enviar erro de login.

Recommended Posts

NCS_One

Ois

Sou novato nisto de php e resolvi começar por tentar fazer um simples login, o login funciona e tb consigo inserir um novo user

na base de dados, aqui vao os 2 ficheiros :

Ficheiro - Index.php

<html>
<body>
<title>Index</title>
</body>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheigh="0">
<table width="200" height="200" cellspacing="0" cellpadding="0" border="0" bgcolor="#CCCCCC">
   <tr>
      <td align="center">
         <span>Login</span>
         <form action="Login.php" method="POST">
            <span>Nome :</span><input type="text" value="" name="Nome" size="20">
            <span>Pass :</span><input type="password" value="" name="Pass" size="20">
            <input type="submit" value="Login">
         </form>
         <a href="Registar.php">Registar</a>
      </td>
   </tr>
</table>
</body>
</html>

Ficheiro - Login.php

<?
$Nome=$_POST["Nome"];
$Password=$_POST["Pass"];
$Password=md5($Password);

$Conectar = mysql_connect("localhost", "root", "") Or Die("Falhou ligar ah base de dados.");

$bdd = mysql_select_db("BaseDados1", $Conectar) Or Die("Falhou, base de dados desconhecida.");

$Pesquisa = "Select Nome, Pass From utilizador Where nome='$Nome';";

$Resultado = mysql_query($Pesquisa);

$Num = mysql_num_rows($Resultado);

if ($Num!=0)
{
   list($Nome, $Pass) = @ mysql_fetch_row($Resultado);
   if ($Password == $Pass)
   {
      Header("Location : http://www.sapo.pt/");
   }
   else
      echo "Password errada.";
}
else
   echo "Utilizador nao existe.";

mysql_close($Conectar);
?>

Agora tenho 2 perguntas -

1ª - Se o utilizador nao existir ou a password estiver errada como faço um 'alert' com a respectiva mensagem na pagina Index.php

       nao na Login.php ?

2ª - Se o utilizador nao existir ou a password estiver errada como faço para inserir um novo elemento com a respectiva mensagem

       dentro do 'td'(onde esta a 'form') da 'table' ?

Desde ja agradeço toda a ajuda que poderem dar.


Se a vida te voltar as costas aproveita e apalpa-lhe o cu.

Share this post


Link to post
Share on other sites
Blue_Acid

BEM vou tentar responder a isso, pk eu tb tenho andado de volta destas coisas, então eu fiz assim:

quando ele verifica que o utilizador não existe, fazes um header  e na minha situação, fiz

no index.php

//--- defines uma var msg vazia no inicio do body ou na tag head
<? $msg=" "; ?>

//----- metes o codigo todo do form -----
//---- defines um local para dar a msg de erro e metes:
<? $msg = $_GET['msg'];  echo $msg; ?>

no Login.php

//--- o codigo todo da verificação
//--- na parte de utilizador não existe
header(Location: index.php?msg=Erro de Login);

Não se será a melhor maneira, mas funciona ... um abraço  :confused:


SIGNIFICADOS: WWW: Wait,wait,wait... HTML: Hoje Ta Mais Lento.KEYBOARD: Dispositivo usado para entrada de erros no Computador.

Share this post


Link to post
Share on other sites
NCS_One

Ois

Obrigado pela resposta mas alguem sabe de alguma maneira melhor de o fazer eh k nesta a msg vai no url

e eu nao keria isso.

Obrigado.


Se a vida te voltar as costas aproveita e apalpa-lhe o cu.

Share this post


Link to post
Share on other sites
satanuke

Podes usar a sessão para guardar a mensagem.

login.php

<?php 
//resumir a sessão
session_start(); 

$Nome=$_POST["Nome"];
$Password=$_POST["Pass"];
$Password=md5($Password);

$Conectar = mysql_connect("localhost", "root", "") Or Die("Falhou ligar ah base de dados.");

$bdd = mysql_select_db("BaseDados1", $Conectar) Or Die("Falhou, base de dados desconhecida.");

$Pesquisa = "Select Nome, Pass From utilizador Where nome='$Nome';";

$Resultado = mysql_query($Pesquisa);

$Num = mysql_num_rows($Resultado);

if ($Num!=0)
{
   list($Nome, $Pass) = @ mysql_fetch_row($Resultado);
   if ($Password == $Pass)
   {
      Header("Location : http://www.sapo.pt/");
   }
   else
      { 
  $_SESSION['msg'] = "Password errada."; 
   	    Header("Location : index.php");
  } 
}
else
      { 
  $_SESSION['msg'] = "Utilizador não existe!"; 
   	    Header("Location : index.php");
  } 

mysql_close($Conectar);
?>

index.php

<?php 
//iniciar a sessão
session_start(); 
?>
<html>
<title>Index</title>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheigh="0">
<table width="200" height="200" cellspacing="0" cellpadding="0" border="0" bgcolor="#CCCCCC">
<?php 
   if (isset($_SESSION['msg'])){
   ?>   
   <tr>
   <td>Erro : <?=$_SESSION['msg']?></td>
   </tr>
   <?php } ?>
   <tr>
      <td align="center">
         <span>Login</span>
         <form action="Login.php" method="POST">
            <span>Nome :</span><input type="text" value="" name="Nome" size="20">
            <span>Pass :</span><input type="password" value="" name="Pass" size="20">
            <input type="submit" value="Login">
         </form>
         <a href="Registar.php">Registar</a>
      </td>
   </tr>
</table>
</body>
</html>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.