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

pegar retorno com jquery


piteco

Pergunta

Olá pessoal, estou fazendo um script para verificar o login e senha, passo os dados do formulário com o jquery, a consulta no banco está certinha, o problema é pegar o retorno para redirecionar para a página principal caso o dados estiverem corretos.

<script type="text/javascript">
$("#autenticacao").submit(function(){
    
    $("#mensagens").html('<img src="image/ajax-loader.gif" id="Loader" />').fadeIn(300);
    
    var login = $("#login").val();
    var senha = $("#senha").val();
    
    jQuery.ajax({  
        type: "POST",  
        url: "nav/autenticacao.php",  
        cache: false,
        data: 'acao=autentica&login='+login+'&senha='+senha+'&status='+status,  
        success: function(formulario)  
        {  
            $("#Loader").fadeOut("slow");
            $("#mensagens").hide();
            $("#mensagens").html(formulario).fadeIn("slow");//.fadeOut(3000);
        }  
    });  
      
    return false;  
})
</script>
Acima está o jquery enviando para página de autenticação, abaixo vem a página onde pego os valores e faço a consulta.
<?php
    session_start();
    include_once("../Conexao/conexaoPDO.php");
    
    /* autenticação de usuários */
    
    if (isset($_POST['acao']) && $_POST['acao'] == 'autentica'){
        
        
        $usuarioLogin = $_POST['login'];
        $usuarioSenha = $_POST['senha'];
        
        
        if (empty($usuarioLogin) || empty($usuarioSenha) ){
            echo "Login e senha não podem ser vazio.";

            
        } else {
        
            /* CRIPTOGRAFANDO SENHA */
            $usuarioSenha = md5($usuarioSenha);
            
            
            $selecionaUser = 'SELECT * FROM usuarios WHERE usuariosLogin = :usuariosLogin AND usuariosSenha = :usuariosSenha';
            
            try{
                $queryUser = $conecta->prepare($selecionaUser);
                $queryUser->bindValue(':usuariosLogin', $usuarioLogin, PDO::PARAM_STR);
                $queryUser->bindValue(':usuariosSenha', $usuarioSenha, PDO::PARAM_STR);
                $queryUser->execute();
                $qtdRegistro = $queryUser->rowCount();
                
            }catch(PDOException $error){
                echo "erro : ".$error->getMessage();
                
            }
            
            
            if ($qtdRegistro == 0){
                echo "Usuários ou senha não cadastrado";
            } else {
            
                foreach($queryUser as $rs){
                    
                    $_SESSION['usuarios']['usuarioID']        = $rs['usuarioID'];
                    $_SESSION['usuarios']['usuarioNome']   = $rs['usuarioNome'];
                    $_SESSION['usuarios']['usuariosLogin'] = $rs['usuariosLogin'];
                    $_SESSION['usuarios']['usuariosSenha'] = $rs['usuariosSenha'];
                    $_SESSION['usuarios']['usuariosNivel'] = $rs['usuariosNivel'];
                    $_SESSION['usuarios']['usuariosEmail'] = $rs['usuariosEmail'];
                    
                }
            }
        
        }
    }
    
    
?>

O que quero é que se a senha e o login existirem ele redireciona para outra página

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Fala piteco.

Cara,um header (header - php.net) com o caminho resolveria isso,mas com o include do PDO na linha três daria pau.

Sugiro o seguinte: Imprima o retorno em Json,e no callback do ajax,faça o redirect com javascript. Ficaria mais ou menos assim:

Parte PHP:

if ($qtdRegistro == 0){
                echo "Usuários ou senha não cadastrado";
            } else {
            
                foreach($queryUser as $rs){
                    
                    $_SESSION['usuarios']['usuarioID']        = $rs['usuarioID'];
                    $_SESSION['usuarios']['usuarioNome']   = $rs['usuarioNome'];
                    $_SESSION['usuarios']['usuariosLogin'] = $rs['usuariosLogin'];
                    $_SESSION['usuarios']['usuariosSenha'] = $rs['usuariosSenha'];
                    $_SESSION['usuarios']['usuariosNivel'] = $rs['usuariosNivel'];
                    $_SESSION['usuarios']['usuariosEmail'] = $rs['usuariosEmail'];
                    
                }

             echo json_encode(array("status"=>1));

            }
Parte Ajax:
jQuery.ajax({  
        type: "POST",  
        //Especificamos o tipo de retorno que queremos
        dataType:"JSON",
        url: "nav/autenticacao.php",  
        cache: false,
        data: 'acao=autentica&login='+login+'&senha='+senha+'&status='+status,  
        success: function(formulario)  
        {  
            $("#Loader").fadeOut("slow");
            $("#mensagens").hide();
            $("#mensagens").html(formulario).fadeIn("slow");//.fadeOut(3000);
             
             //Tratamos o callback aqui    
             if(formulario.status==1){

                   window.location.href = "pagina de destino";

             }
                   
             }
        }  
    });

Espero ter ajudado. Qualquer dúvida posta ai.

Abraços.

Link para o comentário
Compartilhar em outros sites

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