Programmatore PHP e AJAX esperto nella realizzazione di Script AJAX per Portali dinamici e Realizzazione di Siti Internet e CMS Dinamici | Programmatore per Siti Mobile | Programmatore PHP

Realizzare un Form con AJAX e PHP in maniera Semplice



In questo Breve, ma efficace esempio di Script AJAX vedremo come grazie ad AJAX e PHP un Programmatore PHP potrà realizzare il proprio Form dinamico che in tempo reale verifica l’esistenza di uno username, e vedremo come questo esempio sarà  facilmente adattabile e ampliabile secondo le esigenze del Programmatore.
In questo articolo diamo per scontato che il Programmatore PHP conosca le basi di AJAX cioè la creazione dell’oggetto XMLhttpRequest e la gestione degli stati delle richieste AJAX che abbiamo visto già nei miei precedenti articoli.
Detto questo ci concentreremo sulle nuove nozioni, in questo esempio infatti ho voluto sperimentare il formato di interscambio JSON diverso da quello XML che sono solito utilizzare come Programmatore PHP AJAX, il formato JSON che grazie ad un abbinamento di chiave/valore consente lo scambio di dati in maniera semplice come vedremo più avanti.
Supponiamo dunque di avere una Form costituito da un campo username nel seguente modo, con un div messaggio inizialmente vuoto dove tramite Javascript andremo a scrivere in maniera asincrona il responso del nostro database MySQL:

<input type="text" id="username" name="username" />
<input type="button" value="Controlla Disponibilita'" onclick="controllaEsistenza();"/>
<div id="messaggio"> </div>

Nello stesso file andremo a realizzare lo Script AJAX, supponiamo infatti di aver creato l’oggetto XMLhttpRequest e settato la gestione dello stato readyState==4 andremo quindi a gestire con Javascript la richiesta AJAX e la lettura dello JSON:

function controllaEsistenza()
{
root_sito = '';
var testo = document.getElementById('username');
var messaggio = document.getElementById('messaggio');
user = testo.value;

codice = '';
msg = '';
oggettoAJAX=creaRichiestaAjax();
oggettoAJAX.onreadystatechange=function()
{
if(oggettoAJAX.readyState==4)
{
eval("result = "+oggettoAJAX.responseText);
codice = result['codice'];
msg = result['result'];

if(codice <=0){
testo.style.border = "1px solid red";
messaggio.style.color = "red";
}
else{
testo.style.border = "1px solid green";
messaggio.style.color = "green";
}
messaggio.innerHTML = msg;
}
}
oggettoAJAX.open("GET",root_sito+"controlla.php?username="+user,true);
oggettoAJAX.send(null);
}

Adesso ogni qual volta inseriremo il valore e cliccheremo su verifica username il nostro Javascript chiamerò il file controlla.php che si occuperà di effettuare una Query in maniera Asincrona al database MySQL e che sarà  composto nel seguente modo:

//Controlli sullo username per eliminare caratteri speciali
$username = strip_tags(trim($_REQUEST['username']));

//Se la lunghezza della username è minore di 8 creo l'interscambio JSON che comunica l'errore
if(strlen($username) <= 7){
echo json_encode(array('codice' => -1, 'result' => 'Username non valido, inserisci almeno 8 caratteri.'));
die;
}

// Inserisci la query che controlla nel database
/*.........*/

if($available){
echo json_encode(array('codice' => 1, 'result' => "Username disponibile"));
die;
}else{
echo json_encode(array('codice' => 0, 'result' => "Username già utilizzato"));
die;
}
die;

Questa porzione di codice omette tutto il lato di connessione al database  per permettere al Programmatore PHP o Programmatore AJAX di adattare lo script ad ogni tipologia di database e/o diversa struttura dello stesso.
Come possiamo vedere JSON è molto semplice, si assegnano una coppia di valori, nel nostro caso codice e result che poi sono letti nel file che contiene il codice Javascript semplicemente utilizzando la funzione eval (eval(“result = “+oggettoAJAX.responseText);) in modo da fornire una risposta a video sull’esistenza o meno dello username.

Per semplicità ho legato l’evento di controllo ad un bottone, ma in un form completo di più campi, il Programmatore PHP AJAX utilizzando la funzione onblur potrebbe legare l’evento di controllo appena si va a scrivere su un altro dei campi del modulo. Per vedere l’esempio di questo Form Clicca Qui

PER ULTERIORI INFORMAZIONI:

Daniele Tabacco
Programmatore PHP | Web Developer | Consulente Web e SEO

PHP - MySql - AJAX - HTML5 - JAVASCRIPT - CSS - JSON/XML - JQuery
WebApps, Applicazioni, Realizzazione Siti Mobile per iPhone e Android
Programmatore PHP - Consulente Web Marketing Napoli, Roma, Milano, Firenze.
Tel.+39 329.11.73.918
email: daniele.tabacco[at]gmail.com
skype: daniele.tabacco

Il tuo nome (richiesto)

La tua email (richiesto)

Oggetto

Il tuo messaggio

 


POTREBBE INTERESSARTI ANCHE:
Ridurre la frequenza di rimbalzo? Questo script può essere un idea utile per un Programmatore Javascript, cercando di proporre altri contenuti interessanti.
Un semplice esempio AJAX e PHP consentirà  ad un Programmatore PHP di realizzare il proprio Form dinamico che verifica in tempo reale l'esistenza di uno username, facilmente adattabile dal Programmatore
Script PHP per leggere con le Google Weather API un file XML che genera delle previsioni meteo per il tuo sito internet
Sei un Programmatore PHP? Vuoi eseguire una copia del tuo sito dinamico realizzato con PHP su un CD o su un supporto USB? Questo articolo ti spiegherà cosa devi fare.
Semplice script che grazie alle API di Google Maps ritrova l'indirizzo stradale della nostra posizione o di una posizione con latitudine e longitudine specificate.


buzzoole code
Leggi altro:
Condividere Pagine del mio Sito su Facebook

Come Programmatore PHP sviluppatore di siti internet ottimizzati anche in logica WEB 2.0 volevo consigliarvi un interessantissimo nuovo plugin messo a...

Chiudi