http://dimoshake.altervista.org/registrazione.html
Allora, questo è un piccolo form per la registrazione, in cui ci sono tutti gli errori possibili in caso qualcuno sbagli qualcosa (ripetizione password ecc), o ci sia gia un username/mail esistente, e fin qui tutto perfetto. Ora dato che ho il codice della registrazione in php con un bottone che rimanda alla pagina della registrazione, avevo intenzione di creare due bottoni, che tramite ajax si aggiornano. Quando tutti i campi sono corretti compare un bottone che rimanda alla pagina php per registrarsi, quando c'è almeno un campo sbagliato il bottone diventa disabled="disabled" e questo so farlo.
Ad esempio metto una funzione dentro l'evento onblur e la richiamo in tutti i campi, quando soddisfa tutte le condizioni dei cicli if allora aggiorna l'html tramite ajax, mettendo il bottone cliccabile. Il problema è che non riesco ad andare avanti con questo codice (che permette di aggiornare i due tipi di bottone) quando si tratta di verificare che l'username/email sia già utilizzato. Ecco i codici che riguarda l'username

registrazione.html
Codice PHP:
<script type="text/javascript" language="javascript">

function 
checkusername(){
var 
status document.getElementById("usernamestatus");
var 
document.getElementById("uname").value;
if(
== 0){
status.innerHTML "Inserisci un username valido";
} else {
if(
!= ""){
status.innerHTML 'ricerca...';
var 
hr = new XMLHttpRequest();
hr.open("POST""controllausr.php"true);
hr.setRequestHeader("Content-type""application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
if(
hr.readyState == && hr.status == 200) {
status.innerHTML hr.responseText;
}
}
    var 
"name2check="+u;
    
hr.send(v);
}
}
}


</script>
</head>
<body>

<form>
    <table>
        <tr>
            <td>
                Username:
            </td>
            <td>
                <input type="text" name="uname" id="uname" onblur="checkusername();" maxlength="15" />
            </td>
            <td>
                <div id="usernamestatus">Inserisci un username valido</div>
            </td>
        </tr>

</form> 
Ho messo solo username dato che l'email ha il codice identico, se non per il discorso di alcune variabili.

Questa è la pagina php che cerca se l'username esiste o meno e da i relativi errori

controllausr.php
Codice PHP:
<?php
if(isset($_POST["name2check"]) && $_POST["name2check"] != ""){
include_once 
'connect.php';
$username preg_replace('#[^a-z0-9]#i'''$_POST['name2check']); 
    
$sql_uname_check mysql_query("SELECT id FROM utenti WHERE username='$username' LIMIT 1"); 
    
$uname_check mysql_num_rows($sql_uname_check);
    if (
strlen($username) < 3) {
   echo 
"<div style='color: #d70000;'>l'username deve essere tra i 3 e 15</div>";
   exit();
    }
if (
is_numeric($username[0])) {
   echo 
'First character must be a letter';
   exit();
    }
    if (
$uname_check 1) {
   echo 
"<div style='color: #0ba60b;'>Ok</div>";
   exit();
    } else {
   echo 
"<div style='color: #d70000;'>[b]$username[/b]  e' gia utilizzato</div>";
   exit();
    }
}
?>
In sostanza, come faccio a verificare che il campo username e email siano "Ok" quindi corretti?