controllo.js
codice:
function ajaxGestore(){
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();
}
catch(e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
window.alert("Il tuo browser non supporta AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4 ){
//controllo se user esiste gia confrontando il campo user con l'array users
//faccio la alert
//faccio il focus sul campo user
}
}
xmlHttp.open("get","user.php",true);
xmlHttp.send(null);
}
user.php:
codice:
<?php
include "dbconfig.php";
$query="SELECT Username FROM Utenti";
$risultato = mysql_query($query) or die("Query fallita".mysql_error());
$users = mysql_fetch_array($risultato); ?>
registrazione.html:
codice:
<FORM name="registrazione" action="registrazione.php" method="post" id="registrazione" onSubmit="return controlloobl(['Cognome','Indirizzo','ni','User','pass','Email','Telefono'])">
<FIELDSET>
<legend> Dati per la registrazione </legend>
I campi contrassegnati da * sono obbligatori
</p>
...
<label for="User">*User:</label>
<INPUT tabindex="5" type="text" name="User" id="User" size="20" maxlength="20" onBlur="ajaxGestore()">
</p>
...
<INPUT type="reset" name="Reset" value="Reset">
<INPUT type="submit" name="Conferma" value="Conferma" > </p>
</FIELDSET>
</FORM>
Quello che vorrei è prendere dal database un vettore con tutti gli username presenti passarlo al gestore ajax e controllare da li se il campo user è gia presente e nel caso fare una alert e una focus sul campo. Il problema è che essendo alle prime armi con ajax vorrei capire meglio quale metodo è meglio usare nella open? e la scelta quali cambiamenti comporta in questo codice che vi ho postato? E per passare l'array dopo che l'ho prelevato in user.php come devo fare? Grazie mille in anticipo