Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dutopfave

Cadastro com Ajax

Recommended Posts

Galera, tenho um cadastro com ajax, até ai blz tava funcionando, so que quis fazer uma verificação se o email ja existi não, se ja existe ai seria como erro, caso ao contrario seria success e cadastrava normal, so não ta indo dps q fiz isso não sei oq é, segue codigo Ajax e PHP:

 

Ajax:

 

$(document).ready(function(e) {
    
            $("form[ajax=cadastro]").submit(function(e) {
                
                e.preventDefault();
                var form_data = $(this).serialize();
                var form_method = $(this).attr("method").toUpperCase();
                
                
                $.ajax({
                    url: 'salvar_cadastro.php',
                    type: form_method,      
                    data: form_data,     
                    cache: false,
                    dataType: 'json',
                    success: function(data){                          
                        if(data == 'true'){ 
                          window.location = 'cadastro.php?modal=ok';
                        }else{
                          window.location = 'cadastro.php?modal=error';
                        }
                    },
                });

                
            });
            
        });

 

 

PHP (salvar_cadastro.php):

 

<?php
     require 'Connections/config.php';
    date_default_timezone_set('America/Sao_Paulo');

    // INICIO VERIFICAR SE EMAIL JÁ EXISTE
    $email_verificar = addslashes($_POST['email']);   
    $Verifica_Email = $pdo->prepare("SELECT email FROM cad_administracao WHERE email = :email");
    $Verifica_Email->bindValue(":email", $email_verificar);
    $Verifica_Email->execute();
    if($Verifica_Email->rowCount() > 0){
        $data = array("success" => false);
    	echo json_encode($data);
    }else{
    // FIM VERIFICAR SE EMAIL JA EXISTE

    $nome = addslashes($_POST['nome']);
    $sobrenome = addslashes($_POST['sobrenome']);
    $email = addslashes($_POST['email']);
    $cpf_cnpj = addslashes($_POST['cpf_cnpj']);
    $pessoa = addslashes($_POST['pessoa']);
    $sexo = addslashes($_POST['sexo']);
    $telefone = addslashes($_POST['telefone']);
    $endereco = addslashes($_POST['endereco']);
    $numero = addslashes($_POST['numero']);
    $complemento = addslashes($_POST['complemento']);
    $cidade = addslashes($_POST['cidade']);
    $bairro = addslashes($_POST['bairro']);
    $cep = addslashes($_POST['cep']);
    $estado = addslashes($_POST['estado']);
    $como_conheceu = addslashes($_POST['como_conheceu']);
    $foto = addslashes($_POST['foto']);
    $login = addslashes($_POST['login']);
    $senha = addslashes(md5($_POST['senha']));
    $status = addslashes($_POST['status']);
    $active = addslashes($_POST['active']);
    $data = addslashes(date('Y-m-d H:i:s'));

    $Inserir = $pdo->prepare("INSERT INTO cad_administracao (nome, sobrenome, email, cpf_cnpj, pessoa, sexo, telefone, endereco, numero, complemento, cidade, bairro, cep, estado, como_conheceu, foto, login, senha, status, active, data) VALUES (:nome, :sobrenome, :email, :cpf_cnpj, :pessoa, :sexo, :telefone, :endereco, :numero, :complemento, :cidade, :bairro, :cep, :estado, :como_conheceu, :foto, :login, :senha, :status, :active, :data)");
    $Inserir->bindValue(":nome", $nome);
    $Inserir->bindValue(":sobrenome", $sobrenome);
    $Inserir->bindValue(":email", $email);
    $Inserir->bindValue(":cpf_cnpj", $cpf_cnpj);
    $Inserir->bindValue(":pessoa", $pessoa);
    $Inserir->bindValue(":sexo", $sexo);
    $Inserir->bindValue(":telefone", $telefone);
    $Inserir->bindValue(":endereco", $endereco);
    $Inserir->bindValue(":numero", $numero);
    $Inserir->bindValue(":complemento", $complemento);
    $Inserir->bindValue(":cidade", $cidade);
    $Inserir->bindValue(":bairro", $bairro);
    $Inserir->bindValue(":cep", $cep);
    $Inserir->bindValue(":estado", $estado);
    $Inserir->bindValue(":como_conheceu", $como_conheceu);
    $Inserir->bindValue(":foto", $foto);
    $Inserir->bindValue(":login", $login);
    $Inserir->bindValue(":senha", $senha);
    $Inserir->bindValue(":status", $status);
    $Inserir->bindValue(":active", $active);
    $Inserir->bindValue(":data", $data);
    $Inserir->execute();


    $data = array("success" => true);
    echo json_encode($data);
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@dutopfave O erro é bem bobo, você converte o array em PHP para Objeto Json, porem quando você faz a verificação do valor que foi enviado pela requisição, você não escolhe o índice do Objeto.

 

Para resolver isso basta você escolhe o índice do objeto:

if(data["success"] == 'true'){ 
	window.location = 'cadastro.php?modal=ok';
	}else{
	window.location = 'cadastro.php?modal=error';
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel, fiz oq se me disse, e fiz o teste aki mesmo cadastrando com email que nao existe era pra ir como success true certo, mais ta indo como error,  mais ta cadastrando, entao o php ta certo, esse IF no ajax não ta indo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@dutopfave Bom, falto você fazer a conversão de string do dados para um objeto javascript, apesar de você converter o array em php para json, o valor vira uma string no formato json, e não um objeto javascript.

 

Você pode usar a função JSON.parse(), para converter o valor de string para um json.

 

data = JSON.parse(data);
if(data["success"] == 'true'){ 
	window.location = 'cadastro.php?modal=ok';
	}else{
	window.location = 'cadastro.php?modal=error';
}

Agora deve funcionar corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos,  saudações. 
       
      Primeiramente agradeço ao auxílio e ajuda que os amigos têm me dado. 
       
      Minha dúvida:
      - para emissão de nota fiscal eletrônica precisa de um CERTIFICADO e SENHA.
      Como ou onde consigo esses dois itens, para fazer teste de emissão de nota fiscal  ?
       
      Grato, 
       
      Cesar
    • Por violin101
      Caros amigos,  saudações. 
       
      Primeiramente agradeço ao auxílio e ajuda que os amigos têm me dado. 
       
      Minha dúvida:
      - para emissão de nota fiscal eletrônica precisa de um CERTIFICADO e SENHA.
      Como ou onde consigo esses dois itens, para fazer teste de emissão de nota fiscal  ?
       
      Grato, 
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma pequena dúvida.
       
      Estou escrevendo um Sistema que tem vários Módulos.
       
      O módulo principal tem:
      Estoque | Compras | Expedição | Vendas

      Minha dúvida:
      como faço após Acessar o Módulo Principal e Escolher o Módulo que quero trabalhar,
      eu possa fechar o Módulo aberto por exemplo: Estoque, sem alterar o Módulo principal e outros se estiver aberto ?


      Grato,
       
      Cesar
    • Por douglas79
      Bom dia,

      Há alguns dias que venho instalar o apache, o php, mysql e o phpmyadmin manualmente e sem obter sucesso. Até consegui rodar o php, porém, quando vou baixar a úitima versão do MYSQL, não tem todos os pacotes nele instalados, inclusive no completo, só encontro o Router.
      Alguém pode me dizer o porquê que isso está ocorrendo?
      Desde já agradeço a ajuda de vocês, que será bem vinda!
      No aguardo!

      Uso a versão 8.3.9 do PHP
      Meu SO é o Windows 10 32 bits
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me perdoa em postar mais uma dúvida minha.

      Através de ajuda e orientação dos membros do Grupo, tenho conseguido resolver muitos problemas que tenho encontrado.
       
      Gostaria de saber dos amigos do grupo, se tem algum vídeo aula, orientando a Instalação das Biblioteca para Emissão de Nota Fiscal Eletrônica.
       
      Tenho feito várias busca e tenho encontrado a maioria das vezes tudo em LARAVEL.

      Sei que para instalar as Biblioteca, precisa do Composer, até aqui tudo bem.

      Minha dúvida: 
      após fazer o download da  sped-nfe  e  sped-da, essas biblioteca devem ser gravada em qual pasta ?  ----   na C:\  ou dentro da pasta do Sistema ?
      quando dou o comando: COMPOSER INSTALL esse comando já instala todas as bibliotecas, ou 1 por 1 ?

      Grato,
       
      Cesar
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.