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

captcha
Inserisci i caratteri che vedi nell'immagine

 


POTREBBE INTERESSARTI ANCHE:
Un Esempio di una Piccola App costruita con le API Twitter mostra come cinguettare direttamente dal vostro sito Internet.
Programmatore Php e Programmazione ad Oggetti per la realizzazione di Siti Internet e di Portali Web. I concetti di Polimorfismo ed Ereditarietà.
Script PHP per l'upload dei File via FTP utile ad ogni Programmatore PHP che voglia utilizzare un accesso FTP per l'upload di file.
Una guida di un Programmatore PHP alla condivisione di pagine su facebook, grazie all'utilizzo di Social Button, utile per siti internet ottimizzati anche in logica WEB 2.0
Il Meteo di Yahoo disponibile come widget, applicazione iPhone o Android può essere incluso anche nel proprio sito con l'utilizzo di PHP e senza essere un Programmatore PHP


buzzoole code
Leggi altro:
Restyling di un Applicazione o Portale Web con PHP

Ristrutturare (Restyling) o aggiornare la struttura di un sito internet, di un portale o di un applicazione web si rende...

Chiudi