msgs de erro num form popup
Boa noite , eu ja consigo facilmente fazer login num form, apresentando os erros por debaixo do form ou então usando javascript apresentando por conseguinte as mensagens nas janelas que vão aparecendo......MAS...QUANDO CONSTRUI UM FORM NUM POPUP ISTO DEIXOU DE FUNCIONAR....OU SEJA...AS MSGS DE ERRO NEM SEQUER APARECEM, BEM COMO OPOPUP FORM FECHA!!!!
HÁ maneira dele permanecer apresentando as msgs de erro como se de um form simples se tratasse???
<?php
session_start();
//ligar a base dados
require 'ligacao_bd.php';
$erro = "";//mensagem de erro vazia ...
//verificar utilizador
if(isset($_REQUEST['botao']))
{
//definir as variaveis
$email = $_POST['email'];
$senha = $_POST['senha'];
//comparar as passwords da base dados com a do texBox em MD5
$senha_encriptada = md5($senha);
//query de consulta , analizar dados e resulatdo
$consulta = $ligacao->query("SELECT * FROM utilizadores WHERE email = '$email' AND senha = '$senha_encriptada' ");
$resultado = mysqli_fetch_array($consulta);
//Obrigatorio preencher todos os campos
if($email == "" || $senha == "")
{
$erro = "Os campos são de prenchimento obrigatorio!";
}
//se não retornar nenhuma linha em que todos os dados coincidem com os introduzidos no form de login...então mensagem de erro
elseif($email != $resultado['email'] && $senha != $resultado['senha'] )
{
$erro = "Email ou senha incorretos !";
}
//se houver uma linha em que todos os dados coincidem , inicia-se a ssessão...
else
{
$_SESSION['id'] = $resultado['id'];
$_SESSION['nome'] = $resultado['nome'];
$_SESSION['email'] = $email; //permite a sessão e ...
//direciona-se para a respectiva pagina
echo " <script> window.open('pagina_acesso.php','_self')</script> ";
}
//liberta a variavel damemoria
mysqli_free_result($consulta);
}
?>
<form name="login" action="" method="post">
Login
<hr />
<label for="mail">E-mail:</label> <br />
<input type="email" name="email" id="mail" /> <br />
<label for="pass">Senha:</label> <br />
<input type="password" name="senha" id="pass" autocomplete="off" /> <br /> <br />
<input type="submit" name="botao" value="Entrar" /> <br /> <br />
<?php echo $erro; ?>
</form>
----------------------------------------------------------------------------------------------------------------------------------------
AQUI NESTE EXEMPLO EM BAIXO O MELHOR QUE CONSEGUI FOI USANDO ALGUM Javascript PARA AS MENSAGENS DE ERRO....
FUNCIONA QD CLICO NO BOTAO E O EMAIL NAO ESTA INSERIDO...OU ENTÃO QD INSIRO UM EMAIL QUE EXISTE NA BASE DE DADOS...POREM SE EU INSERIR ALGUM EMAIL QUE NAO ESTEJA NA BASE DE DADOS, APARECE A MSG A AVISAR E O FORM NO POPUP, O POPUP PROPRIAMENTE DITO FECHA...!!!!
ESTE EXEMPLO FUNCIONA MAS NÃO É POR ISSO MUITO FUNCIONAL...HÁ ALGUMA SOLUÇÃO?OU É ERRO NA MINHA PROGRAMAÇÃO...EU ESTOU APRENDENDO SOZINHO PELA WEB.... :
<?php
if(isset($_REQUEST['enviar']))
{
require "ligacao_bd.php";
$email_newsletters = mysqli_real_escape_string($ligacao ,$_POST['email_newsletters']);
$busca_email = $ligacao->query("SELECT * FROM newsletters WHERE email = '$email_newsletters' ");
$resultado_email = mysqli_num_rows($busca_email);
if($resultado_email != 1)
{
echo '<script> alert("Esse email não existe !"); </script>';
}
elseif($resultado_email == 1)
{
$anular_subscricao = $ligacao->query("DELETE FROM newsletters WHERE email = '$email_newsletters' ");
echo '<script> alert("Newsletter cancelada com sucesso !") </script>';
}
}
?>
<style>.submit{display:none;}
</style>
<!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">](http://www.w3.org/1999/xhtml%22%3E)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Popup 3</title>
<!--CSS-->
<link href="estilos.css" rel="stylesheet" type="text/css" />
<!--BIBLIOTECA Jquery-->
<script src="[http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">](http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js%22%3E%3C/script%3E)
<script type="text/javascript">
$(document).ready(function(){
//MOSTRA O POPUP
$("#onclick").click(function(){
$("#logindiv").css("display", "block");
});//AO CLICAR EM CANCELAR , FECHA O POPUP
$("#login #cancel").click(function(){
$(this).parent().parent().hide();
});
//Ao clicar na #envia que pertence ao BUTTON...ativa a classe .submit do imput type SUBMIT !
$("#envia").click(function(){
$(".submit").click()
});
});
</script>
<script type="text/javascript">
function valida(form) {
if(form.email_newsletters.value == ""){
alert("Introduza o seu email !");
form.email.focus();
return false;
}
}
</script>
</head>
<body>
<div id="logindiv">
<form class="form" id="login" name="remove_newsletters" action="" method="post" onsubmit="return valida(this);">
<img src="imagens/cancelar.png" class="img" id="cancel" style="cursor:pointer" />
<h3>Anular newsletter</h3>
<hr />
<br />
<label for="email">Email <span>*</span></label> <br />
<input type="email" name="email_newsletters" id="email" autocomplete="on" placeholder="email" /> <br /> <br />
<input type="button" id="envia" value="Enviar" style="cursor:pointer"/>
<input type="submit" name="enviar" class="submit" />
<input type="button" id="cancel" value="Cancelar" style="cursor:pointer" /> <br />
</form>
</div>
<p id="onclick" style="cursor:pointer">Anular newsletters</p>
</body>
</html>
-
-
Discussão (2)
Carregando comentários...