Ir para conteúdo
Fórum Script Brasil
  • 0

Repetição da última exibição


Rafael Ponte Cassemiro

Pergunta

Boa noite galera!

Amigos é o seguinte eu tenho um arquivo javascript que cria um objeto para conexao com uma determinada página php, só que acontece o seguinte problema, por exemplo eu gravo um usuário e dai aparece a mensagem como programado "Dados salvos", dai faço novamente a mesma coisa, com os mesmos dados e aparece a mensagem "Dados não salvos", até ai tudo certo, tudo dentro do esperado, pois o campo de email salvo no SGBD é definido como UNIQUE, só que por exemplo quando mudo apenas o email ele aparece a mensagem "Dados não salvos" e logo em seguida aparece a mensagem "Dados salvos" e é neste ponto que a programação não se encaixa, pois aparecem as duas mensagens a última exibida e logo após a mensagem correta, o que pode estar acontecendo pessoal? E também às vezes na primeira vez aparece "Dados não salvos" e depois "Dados salvos"...

Alguém poderia me dar uma mão?

Desde já agradeço a todos que tentarem ajudar!

Códigos:

Formulário:

<!DOCTYPE>
<html>
    <head>
        <?php 
            include_once "cabecalho.php"; 
            if(isset($_SESSION["login"])){
                header("Location: http://localhost/mapa.php");
            }
        ?>
    </head>
<body id="cadastro">  
    <?php include_once "navegacao.php" ?>
    <div class="section">
            <div class="container">
                <div class="row">
                    <div class="col-md-5">
                        <form role="form" id="criar" name="frmCriar">
                            <h3>Criação da Conta</h3>
                           
                            <div class="form-group">
                                <label class="control-label">Nome</label>
                                <input class="form-control" placeholder="Nome" id="nome" name="nome" type="text" maxlength="50">
                                <div class="alert alert-gold-warning" role="alert" id="aviso_nome" hidden>Nome é necessário!</div>
                            </div>
                            <div class="form-group">
                                <label class="control-label" for="exampleInputEmail1">Endereço de Email</label>
                                <input class="form-control email" placeholder="Email" id="email" name="email" type="email" maxlength="50">
                                <div class="alert alert-gold-warning"  role="alert" id="aviso_email" hidden>Email é necessário!</div>
                            </div>
                            <div class="form-group">
                                <label class="control-label" for="exampleInputPassword1">Senha Desejada</label>
                                <input class="form-control"  placeholder="Senha Desejada" id="senha" name="senha" type="password" maxlength="50">
                                <div class="alert alert-gold-warning" role="alert" id="aviso_senha" hidden>Senha é necessária!</div>
                            </div>
                           
                            <button type="submit" class="btn btn-gold" id="bCriar">Criar Conta</button>
                               <div id="mensagem" hidden></div>
                            </form>
                    </div>
                    <div class="col-md-2 hidden-sm hidden-xs">
                        <img src="imagens\png\barraDourada_40x400.png" class="center-block img-responsive">
                    </div>
                    <div class="col-md-5">
                      <form role="form" method="post" action="logar.php" id="logar" name="frmLogar">
                            <h3>Logar em Conta Existente</h3>
                            <div class="form-group">
                                <label class="control-label" for="exampleInputEmail1">Endereço de Email</label>
                                <input class="form-control email" id="email1" name="emaill" placeholder="Email" type="email" maxlength="50">
                                <div class="alert alert-gold-warning" role="alert" id="aviso_email1">Email é necessário para logar!</div>
                            </div>
                            <div class="form-group">
                                <label class="control-label" for="exampleInputPassword1">Senha</label>
                                <input class="form-control" id="senha1" name="senhal" placeholder="Senha" type="password" maxlength="50">
                                <div class="alert alert-gold-warning" role="alert" id="aviso_senha1">Senha é necessária para logar!</div>
                            </div>
                            <button type="submit" class="btn btn-gold" id="bLogar">Logar</button>
                                <a id="esqueceu" href="#" data-toggle="popover"  data-content="<p class='corpo-popover text-center'>Preencha o Campo Email e <br> Clique neste Link!</p>" title="<p class='cabecalho-popover text-center'>Informação</p>"  onclick="window.open('recuperar_senha.php?email=' + document.getElementById('email1').value)">Esqueci minha senha.</a>
                        </form>
                    </div>
                </div>
            </div>
        </div>
        <?php include "rodape.php"; ?>
        <script type="text/javascript" src="script/cadastro_v2.js">
      
        </script>

 </body>
</html>

cadastro_v2.js

$(function(){
      $(document).ready(function () {
  
          
          function validarEmail(email) {

                var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
                if (!filter.test(email)) {
                    
                    return false;
                }
                else {
                    return true;
                }
          }
          
          
    //Matriz de elementos input
    var array = ["nome", "email", "senha"];
    

    //Função que procura aviso para mostrar ou ocultar, coforme parametro: atributo e visibilidade
    var display = function () {
                 var valido;
                 var num = array.length;
            for (var i = 0; i < array.length; i++) {
                var atributo = "#aviso_"+array[i];
                var campo = "#"+array[i];
                
               // alert($(campo).val());
                if ($(campo).val() == ""){
                   
                    $(atributo).css("display", "block");
                    $(campo).focus();
                    $(atributo).delay(1000).slideUp();
                                            
                              
                            
                        
                    
                    break; //para no primeiro elemento vazio e da a mensagem, no segundo e assim por diante, evitando que todos sejam mostrados
                    //ao mesmo tempo, apenas indicando os vazios no momento correto
                }
                if (num == i+1){
                    valido = validarEmail($("#email").val());
                   if(valido){
                        $(atributo).css("display", "none");
                         gravarDados();
                        $("#mensagem").delay(500).slideDown();
                        $("#mensagem").delay(4000).fadeOut(1000);
                   }else{
                        alert("invalido");
                        
                       
                        //$("#messagem").delay(200).fadeToggle(1000);
                   }
                   
                }
               
            }
        }//Fim da função display
            
    
                
    //seta o foco no elemento com id nome
    $("#nome").focus();
          
  $("#bCriar").click(function(e){
        e.preventDefault();
        display();
    });
          
   
   function gravarDados() {
       
       var nome = document.getElementById("nome").value;
       var email = document.getElementById("email").value;
       var senha = document.getElementById("senha").value;
       var xmlhttp;
      
       if (window.XMLHttpRequest) {
           // code for modern browsers
           xmlhttp = new XMLHttpRequest();
       } else {
           // code for old IE browsers
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
       }
       
       xmlhttp.onreadystatechange = function () {
           if(this.readyState == 4 && this.status == 200) {
               document.getElementById("mensagem").innerHTML = this.responseText;
           }
       };
       
       xmlhttp.open("POST","criar_login.php",true);
       xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
       xmlhttp.send("nome="+nome+"&email="+email+"&senha="+senha);
   }

                
  



        
       


    
         $('[data-toggle="popover"]').popover({
         container: "#esqueceu",
         placement: "bottom",
         html: true,
         delay: 0,
         animation: false,
         trigger: "hover"
         });
      

}); //Fim $(document).ready
        
          
         
          
        var permitidos = " qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";
            //Javascript sem JQUERY
            //Permite ao usuario digitar apenas letras
        document.getElementById("nome").onkeypress = function(e) {
         var chr = String.fromCharCode(e.which);
         var codigo = e.which;
         
        //além da caracteres permitidos, permite o tab e o backspace
         if ((permitidos.indexOf(chr) < 0) && (codigo != 0) && (codigo != 8))
           return false;
        
       };
       

           var fnaoPermitidos = function(e) {
         var naoPermitidos = ":*/|\\?<>\" ";
         var chr = String.fromCharCode(e.which);
      
        //além da caracteres permitidos, permite o tab e o backspace
        if (naoPermitidos.indexOf(chr) < 0) {
           return true;
        }else {
                return false;        
        }
        
       };
        
         document.getElementById("email").onkeypress = fnaoPermitidos;
         document.getElementById("email1").onkeypress = fnaoPermitidos;
         

});

criar_login.php

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);

//include "cabecalho.php";
//include "navegacao.php";
include_once "mensagem.php";
include "conexao.php";
include "aleatorio.php";

$nome = $_POST["nome"];
$login = $_POST["email"];
$senha = $_POST["senha"];
$codigo = gerarAleatorio();
$data = date("Y-m-d");

 $diretorio = '/var/www/html/anuncios/' . $login;


 function limpar(){
     $nome = "";
     $email = "";
     $senha = "";
     $codigo = "";
     $data = "";
 }
 if(!empty($nome)){
     if(!empty($login)){
         if(!empty($senha)){
             //criptografa a senha usando um salt automatico
             $senha = password_hash($senha,    PASSWORD_DEFAULT);
             
        
             //pega instancia do sgbd
             $db = DataBase::getInstance();
             $stmt = $db->prepare("INSERT INTO tb_usuarios (nm_usuario, lg_usuario, pas_usuario, id_ativacao, dt_cadastro) VALUES (?,?,?,?,?)");
             $stmt->bind_param("sssis",$nome,$login,$senha,$codigo,$data);
             $executou = $stmt-> execute();
             $stmt->close();   
                     
                        if($executou){
                            
                            
                               include "class.email.php";
                               $email = new Email();
                               $email->enviarConfirmar($login);
                               
                               echo suce_mensagem("Dados salvos");
                               //var_dump($executou);
                            }
                            else{
                                echo erro_mensagem("Dados não salvos");
                               // var_dump($executou);
                            }
                            
                            
                  /* if(!file_exists($diretorio)){
                          mkdir($diretorio,0777,true);
                              chmod($diretorio,0777);
                        
                   }//fim file_exists*/
               
                  /*suce_mensagem('Cadastro Efetuado com Sucesso! <br>Você Receberá um Email para que possa validar o cadastro! <br>Obrigado por se Cadastrar!');*/
                  //retornarConexao()->close();
         } else {
             //Senha vazia
         }
     } else {
         //Login Vazio
     }
 } else {
    //Nome Vazio   
 }
       

     

?>

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...