• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gonçalo_ssb

Ajuda em login

5 mensagens neste tópico

Ola, estou a desenvolver um sistema de login para implementar numa página, e gostaria que a pagina de action fosse a propria pagina. Gostaria de saber como implementar um sistema de tratamento de erros de modo a que por exemplo as mensagens de erro aparrecam por baixo da caixinha de login. Caso tenham alguma sugestao agradeço que o façam. Obrigado

aqui vai o codigo

<?php 
if (!isset($_SESSION)) {
  session_start();
}
require_once('Connections/conn_login.php');

if(isset($_POST['enviar']))
{
	$error = '';
	$user = $_POST['nome'];
	$password = ($_POST['password']);
	if(isset($_POST['enviar']))
	{
		if(empty($user))
		{
			echo "<div class='error'>Preencha o campo utilizador!</div>";				
		}

		if(empty($password))
		{
			if(empty($user))
			{
			echo  "<div class='error'>Preencha o campo Password!</div>";
			}
			else
			echo "<div class='error'>Preencha o campo Password!</div>";

			exit;
		}
		else
		{
			mysql_select_db($database_conn_login, $conn_login);

			$query= sprintf("SELECT * FROM administrador WHERE username= '$user' AND password='$password'");

			$LoginRS = mysql_query($query, $conn_login) or die("Erro na ligação á base de dados");
			$loginFoundUser = mysql_num_rows($LoginRS);

			if($loginFoundUser!=0)
			{

				$_SESSION['user'] = $user;
				$_SESSION['password'] = $password;
				?> <script language = "javascript">window.location.href="main.php";</script> <?
				exit;
			}
			else
			{
				echo "<br><div class='error'>Dados Inválidos</div>";
				echo "<meta http-equiv='refresh' content='3;URL=index.php?error=invalid'>";
				}

		}
	}
}			
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Gonçalo Ferraria" />
<meta name="reply-to" content="goncalo_ferraria@hotmail.com" />
<meta name="generator" content="Macromedia Dreamwever CS3">

<title>** G.R.E.S. Batuca do Conde - Área de Administração **</title>

<style type="text/css">
<!--
@import url("style_admin.css");
-->
</style>
</head>

<body>
<div id="main" class="main" align="center">
<form id="login" name="login" action="#" method="post">
       <table border="0" align="center" cellpadding="5" cellspacing="0" class="tabela_login">
         <tr>
           <td height="39" colspan="2" class="titulo">Área de Administração</td>
         </tr>
         <tr>
          <td class="texto" valign="middle">Administrador</td>
   		   <td align="left" valign="middle">
             <input type="text" name="nome" id="nome" class="text-form" value="<?php if (isset($_POST['nome'])){ echo $_POST['nome']; }?>" /></td>
         </tr>
         <tr>
           <td class="texto" valign="middle">Password</td>
        
           <td align="left" valign="top"><input type="password" name="password" id="password" class="text-form" value="<?php if (isset($_POST['password'])){ echo $_POST['password']; }?>"/></td>
         </tr>
           <tr>
          	 <td align="letft"></td>
                <td align="left">
                <input name="enviar" type="submit" class="btn_login" id="enviar"  title="Clique para efectuar login" value="Login" alt="Clique para efectuar login" />
                </td>
             </tr>
             <tr>
                <td colspan="2" style="text-align:center;">
         			<label class="texto1">Caso tenha problemas contacte o WebMaster</label> 
               		<br>
               		<a href="mailto:goncalo_ferraria@hotmail.com" class="link" title="Enviar Email">Gonçalo Costa Ferraria</a>
                    <br>
                   
           	    </td>
        	 </tr>
       </table>
     </form>
</div>
       
</body>

</html>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes colocar um div invisível com o erro. Quando o login estiver incorrecto, passas uma variável qualquer por POST ou GET e verificas se essa variável é true, se for, mostras o div.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok percebi a ideia, ja vi que tenho que jogar com a propriedade "visible", contudo desc a minha ignorancia podias me dar me um pequeno exemplo... :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podes tb usar um div que esteja vazio, e depois preencheres o seu conteudo com html, através de javascript com o innerHTML:

document.getElementById('o_teu_div').innerHTML('<p>erro de autenticação</p>');

mas neste caso precisas de por o javascript a comunicar com o php para saber se a autenticação foi feita com sucesso ... ou seja.. usar o XMLHttpRequest, aka Ajax. Isto é, se preferires que essa mensagem apareça sem ser feito um reload a página.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas porque não fazes inline echo como fazes aqui 'value="<?php if (isset($_POST['nome'])){ echo $_POST['nome']; }?>"' ?

Se der erro fazes echo onde quiseres?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora