2011-12-16 3 views
0

Je veux vérifier la disponibilité d'un nom d'utilisateur (entré dans un champ de saisie HTML) à travers ma base de données de serveur en utilisant php. Je sais que nous ne pouvons pas le faire à moins de soumettre des données au serveur. Une solution possible est de relancer la page, mais je ne veux pas le faire. Est-il possible de le faire alternativement? Comment Gmail fait cela? Lorsque nous perdons le focus du champ Nom d'utilisateur sur le formulaire d'inscription de Gmail, il vérifie automatiquement la disponibilité. Des idées?Comment valider les formulaires html dynamiquement en utilisant php?

+0

utilisation ajax - donc vous n'avez pas à recharger la page – k102

+1

double possible de [code Ajax envoyer des données de formulaire au serveur PHP pour la validation] (http://stackoverflow.com/questions/7101694/ajax-code-sending-form-data-to-php-server-for-validation) – mario

+0

OKay. Merci. Je l'ai cherché hier mais je n'ai pas trouvé beaucoup d'informations. Un blog spécifique que vous souhaitez référencer ici? –

Répondre

1

Habituellement, cela est fait en utilisant la technique dite "AJAX". L'idée est simple: vous utilisez javascript pour envoyer des données à votre service, récupérer des données et mettre à jour la page en conséquence. Les bibliothèques Javascript modernes ont helper methods pour cela.

Vous devriez avoir un script sur le serveur qui accepte le nom d'utilisateur, vérifie sa disponibilité et émet du JSON (ou du javascript, ou quoi que ce soit que vous pouvez consommer).

Vous pouvez également lier une telle vérification à l'événement onblur. jQuery a également helper pour cela.

Ainsi, pseudocode il ressemble à ceci

<script type='text/javascript'> 
    jQuery(function() { 
    $('#username_field').blur(function() { 
     $.get('/check_availability.php', {username : this.val()}, function(data) { 
     // update web page according to received data 
     }); 
    }); 
    }); 
</script> 
+0

Merci Sergei cela semble être logique! Je vais essayer. –

+1

vous pouvez utiliser l'événement 'change' à la place afin qu'il ne revalide pas si les données n'ont pas changé. – Brombomb

+0

@Brombomb En effet! C'est tôt le matin ici, donc j'ai une excuse :-) –

Questions connexes