Bom galera estou valiando um formulário de login, só que as mensagens de alerta, info e tals quero retorna com o java script e apenas manipular os dados com o PHP, resumindo, consigo manipular todos os dados mas ele exibe as mensagens de alerta, quando utilizo o seguinte código
ele retorna apenas a primeira mensagens independente dos campos estarem vazios, com o login e senha errados ou certos. E quando faço da maneira certa alterando os operadores de comparação de "=" para "===":
Ele simplesmente não exibe nada em tela muito menos no console!
custom.js
controller.php
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Código:
if(retorno = 'noif'){ alert(retorno); msg('Login não existe!','erro'); }else if(retorno = 'diffpass'){ alert(retorno); msg('Login não corresponde a senha!','alerta'); }
Código:
if(retorno === 'noif'){ alert(retorno); msg('Login não existe!','erro'); }else if(retorno === 'diffpass'){ alert(retorno); msg('Login não corresponde a senha!','alerta'); }
custom.js
Código:
/* $(document).ready(function(){ $('form[name="form_login"]').submit(function(){ SELECIONA O FORMULARIO console.log('clicou'); APARECE 'CLICOU' PARA DEBUGAR $(this).fadeOut('fast'); OCULTA O FORM RÁPIDO QUANDO CLICA NO BOTÃO var botao = $(this).find(':button'); SALVA OS ATRIBUTOS DO BOTÃO NA VARIAVEL 'BOTAO' botao.attr('disabled', true); DESABILITA O BOTÃO botao.html('Aguarde Carregando...'); ALTERA O QUE TEM ESCRITO NO BOTÃO console.log($(this).serialize()); RECUPERA OS VALORES DOS CAMPOS E MOSTRA NO CONSOLE return (false); }); }); */ $(document).ready(function(){ $('form[name="form_login"]').submit(function(){ var forma = $(this); //ARMAZENA O FORMULARIO FORM_LOGIN EM UMA VARIAVEL var botao = $(this).find(':button'); //SALVA OS ATRIBUTOS DO BOTÃO NA VARIAVEL 'BOTAO' $.ajax({ url: "ajax/controller.php", //DETERMINA A URL DO ARQUIVO QUE VAI PEGAR OS DADOS DO FORMULARIO COM PHP E ENVIA OS DADOS type: "POST", //TIPO DOS DADOS QUE SERÃO PASSADOS PELO FORM data: "acao=login&"+forma.serialize(), //PASSA UMA AÇÃO PARA O FORMULARIO E PEGA DOS DADOS beforeSend: function(){ //OQUE SERÁ FEITO ENQUANTO CARREGA A PÁGINA botao.html('Aguarde Carregando...').attr('disabled', true); }, success: function(retorno){ botao.attr('disabled', false).html('<span class="glyphicon glyphicon-user"></span> Logar'); if(retorno == 'noif'){ alert(retorno); msg('Login não existe!','erro'); }else if(retorno == 'diffpass'){ alert(retorno); msg('Login não corresponde a senha!','alerta'); } } }); return false; }); //FUNÇÕES GERAIS function msg(msg,tipo){ var retorno = $('.retornou'); var tipo = (tipo === 'sucesso') ? 'success' : (tipo === 'alerta') ? 'warning' : (tipo === 'erro') ? 'danger' : (tipo === 'info') ? 'info' : alert('INFORME MENSAGENS DE SUCESSO, ALERTA, ERRO E INFO'); retorno.empty().fadeOut('fast', function(){ return $(this).html('<div class="alert alert-'+tipo+'">'+msg+'</div>').fadeIn('slow'); }); } });
Código:
<?php ob_start(); session_start(); require_once '../funcoes/banco/conexao.php'; require_once '../funcoes/login/login.php'; //print_r ($_POST); RETORNA UMA ARRAY COM O VALOR DE TODOS OS CAMPOS //echo $_POST['senha']; RECUPERA O VALOR DO CAMPO SENHA $acao = filter_input(INPUT_POST, 'acao', FILTER_SANITIZE_STRING); switch($acao) : case 'login' : $login = filter_input(INPUT_POST, 'login', FILTER_SANITIZE_STRING); $senha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING); if(login($login,$senha)) : //cria a session else: $dados = pegaLogin($login); if(!$dados) : echo "noif"; elseif($dados -> administrador_senha != $senha) : echo "diffpass"; elseif($dados -> administrador_nivel > 2) : echo "non"; endif; endif; break; default : echo 'Erro!'; break; endswitch; ob_end_flush(); ?>