PHP / Ajax – Verificar disponibilidade em tempo real

cinema 4d final1
Cinema 4D – Ivy Plugin (Criação de erva em objetos)
12 Novembro, 2013
photoshop floresta editada
Filtro Efeito de iluminação no Photoshop CS6
17 Novembro, 2013
php ajax validar utilizador

No artigo de hoje trago-vos um script, em PHP e AJAX, muito utilizado pela maioria formulários na altura de nos registar-mos em algum website. O script baseia-se em testar, em tempo real, se o utilizador que estamos a introduzir já está em uso naquele momento.

Com este simples script utilizando PHP e Ajax faremos um funcional sistema de verificação da disponibilidade de um campo, neste caso será o utilizador (username).
O que pretendemos é usar os eventos do Ajax e proporcionar ao utilizador um sistema de verificação de disponibilidade em tempo real.

username check php

Existe N, formas de obeter o mesmo resultado, nós vamos usar o mínimo possível, de maneira a ser totalmente compatível e personalizável nós vossos sistemas.

HTML

Primeiro realizamos o formulario, no caso bem simples como podem ver, e adicionamos o este vai conter o icon.

<div id="form">
  <label for="utilizador">Utilizador:
  <input name="user" type="text" id="user" maxlength="15">
  <span id="resultado"></span>
  </label>
</div>

Nos vários eventos do jquery encontramos o .keyup(), ele ativa a função que quisermos sempre que uma tecla é pressionada. Então o resultado é a cada letra que o utilizar pressionar o PHP será ativado para realizamos a verificação, utilizaremos o método POST para esse efeito.

$("#user").keyup(function (e) {
   var user = $(this).val(); 
   $.post('validar.php', {'user':user}, function(data) {
   $("#resultado").html(data); 
   });
});

PHP

Na parte do PHP realizamos um script para validar. Realizamos a ligação a base de dados, realizamos a query e tratamos os dados retornados.

if(isset($ _POST["user"])){
    //ligção a BD
    $connecDB = mysqli _connect("servidor", "utilizador", "palavra-chave", "nome da tabela") or die('Impossível ligar a Base de Dados'); 

    //received username value from registration page
    $user =  $ _POST["user"]; 

    //faz a query a base de dados
    $results = mysqli _query($ connecDB , "SELEC T * FROM utilizadores WHERE nick='$user'");
    
    //contas os resultados
    $username_exist = mysqli _num_rows($results); 

    //caso nao exista nenhum utilizador com o mesmo nome retornara "0"
    //o php assume como sendo false
    if($username_exist) {
        die('<img src="imgs/not-available.png" />');
    }else{
        die('<img src="imgs/available.png" />');
    }
}

Por hoje é tudo, até uma próxima!

1 Comentário

  1. Marlysson diz:

    No post do php o name do post não seria “user” em vez de “username”?

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *