Jump to content
Fórum Script Brasil
  • 0

pegar retorno com jquery


piteco

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...