Jump to content
Gonçalo_ssb

Ajuda em login

Recommended Posts

Gonçalo_ssb

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>

Share this post


Link to post
Share on other sites
Nazgulled

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.

Share this post


Link to post
Share on other sites
Gonçalo_ssb

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... 😳

Share this post


Link to post
Share on other sites
conde

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.

Share this post


Link to post
Share on other sites
Battousai

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?

Share this post


Link to post
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
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.


×
×
  • 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.