Salve a tutti.

Mi sono scritto due funzioni per generare login e password.
Funzionano benissimo. Ho scritto una terza funzione che controlla se il login esiste, e qualora questo esista dovrebbe troncare l'ultima lettera di quello nuovo e aggiungerci un numero. L'ho provata ma non mi funziona...
In pratica il login deve essere unico, per cui in caso di omonimi, non dovrebbero uscire due login uguali.
Questa funzione dovrebbe fare così (ad esempio di due Mario Rossi):
primo login: mariorossi
secondo login: marioross0
eventuale terzo login: marioross1
etc. etc.

Codice PHP:
function checklogin($login) {
    
$querycheck "miaquery WHERE login = '$login';";
    
mysql_query($querycheck);
    if (
mysql_affected_rows()==0) {
        return 
$login;
    } else {
        
$loginiscorrect false;
        while (
$loginiscorrect == true) {
            
$isnumber substr($login, (strlen($login)-1), 1); # prendo l'ultima lettera del login
            
if (ctype_digit($isnumber)) { # se la stringa contiene un numero
                
$isnumber = (int) $isnumber++; # lo converto in numero e lo aumento di +1
                
$login substr($login0, (strlen($login)-1)); # prendo il login e gli tolgo l'ultima lettera
                
$login .= $isnumber# aggiungo al login il numero
            
} else {
                
$login substr($login0, (strlen($login)-1)); # prendo il login e gli tolgo l'ultima lettera
                
$login .= "0"# al posto dell'ultima lettera ci metto uno 0
            
}
            
$querycheck "miaquery WHERE login = '$login';";
            
mysql_query($querycheck);
            if (
mysql_affected_rows()==0$loginiscorrect true;
        }
        return 
$login;
    }

Così facendo quando genero il login lo faccio con due funzioni:
$jmlogin = generatelogin($nome, $cognome);
dopodicchè controllo se esiste e qualora ne esista già uno ne creo uno diverso:
$jmlogin = checklogin($jmlogin);