1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Login sem fazer refresh à página

Discussão em 'Web Development' iniciada por scrub, 31 de Maio de 2012. (Respostas: 5; Visualizações: 1211)

  1. scrub

    scrub Power Member

    Boa tarde,

    O site que estou a desenvolver neste momento é de apenas uma página, todo o conteudo é exibido horizontalmente com "scrollTo" (blablabla..). Nesta mesma página preciso que seja possivel o utilizador fazer login onde lhe vai aparecer a informação disponivel para ele mesmo. No entanto preciso de fazer tudo isto sem que a página faça reload, ou seja, o site em PHP, preencho o formulário de login iniciando sessão, e o espaço reservado para o cliente exibe a informação do mesmo.. .. ..

    Algumas ideias? Ando a ver possibilidades com Ajax, mas é tudo, ou quase tudo, para envio e emails (...).

    Conhecem algum tutorial que fale disto?

    Obrigado :)
     
  2. h4des

    h4des Power Member

    AJAX é a tua melhor opção.

    Poderias utilizar outras técnicas como por exemplo colocar um iframe na zona de informação do cliente, mas eu pessoalmente não sou grande fã do uso de iframes.

    Para AJAX o melhor é utilizares uma biblioteca javascript que tenha essa funcionalidade, como por exemplo o jQuery.

    Com o jQuery podes fazer uma chamada a um ficheiro PHP de autenticação e com o resultado actualizar só a parte de login.

    Aqui fica um exemplo um bocado simplista em jQuery:
    Código:
    $(function() {
        $("#id_do_formulario_login").submit(function() {
            // chamada ajax ao servidor
            $.ajax({
                type:'POST', 
                // este script devera fazer a autenticação e retornar o bloco html com as infos do cliente
                url: 'autenticacao.php', 
                
                // aqui vamos buscar os dados do formulário para enviar (username, password)
                data: $('#id_do_formulario_login').serialize(), 
                
                // esta é a função que é chamada quando recebermos resposta do servidor
                success: function(response) {
                    // substituimos o conteudo do bloco na página pela resposta do servidor
                    $('#id_bloco_areaclientes').html(response);
                }
            });
        
            // return false para impedir que o formulário submita à mesma
            return false;
        });
    });
    
     
  3. scrub

    scrub Power Member

    Obrigado pela resposta.

    Podes diz-me de onde tiraste isso? Foi de algum tutorial? Assim via a explicação completa e o funcionamento.

    Obrigado ;)
     
  4. Boas
    Basta procurares por "post jquery" no Google e encontras bastantes resultados com exemplos inteiros.
    Cumps
     
  5. scrub

    scrub Power Member

    Obrigado,

    Aparece realmente bastante informação util.

    :)
     
  6. trovial

    trovial Power Member

    queria tambem implementar uma coisa parecida com essas no meu site.

    tem algumas contraindicaçoes em termos de segurança ou quaisqueres outras fazer a autenticaçao por ajax?
     

Partilhar esta Página