Ciao Ophy, grazie mille per l'interessamento.

Riporto di seguito il codice:

Codice PHP:
<?php
    
## Script per REGISTRAZIONE UTENTI con attivazione via email con php/mysql ########
    ## autore: U.Alessandro - email: [email]xxxxxxxx@yahoo.it[/email] - ultima modifica: 6-3-2008  ##
    ####################################################
    /* 
    - il seguente file contiene tutte le funzioni neccessarie per la registrazione e attivazione, basta includerlo dove serve, es: include './reguserFunc.php';
    - nella funzione deleteoldreg() � possibile impostare i minuti dopo i quali non sar� pi� possibile attivare un account registrato e verr� cancellato, questo per evitare la
       registrazione di utenti che non attivano l' account
     - lo script utilizza la funzione mail()  di PHP
     - la funzione RegUser()  ritorna come valori true/false, ma in alternativa si pu� tranquillamente far stampare una stringa a piacere per personalizzare la notifica di errori
    NB: la passowrd viene salvata nel database come $md5pass = md5(md5($passwordDB)) , da tenere conto se dobbiamo fare una SELECT in uno script per il Login,
     */
    
    // qui inserire i propri dati per la connessione ad database mysql
    
function dbconn(){
        
$connessione mysql_connect("xx.xxx.xxx.xxx""Sqlxxxxx_2""xxxxxxxx");
        
mysql_select_db("utenti"$connessione);
        return 
$connessione;
    }
    
    
// link file attivazione
    
define('pathactiveuser''http://www.monesito.it/provautenti/reguser_attiva.php');
    
// mail webmaster/amministratore del sito
    
define('adminmail''myname@gmail.com');
    
// nome/indirizzo del proprio sito web
    
define('nomesito''http://www.miosito.it/provautenti/');
    
// stringa formata da letter/numeri da usare per la creazione di una chiave di attivazione casuale
    
define('secretword','sthh45w45s');    
    
    
    
// controlla dati passati( username e password deve avere caratteri alfanumerici e almeno 6 caratteri e un massimo di 20 )
    
function strip_char($char){
        
$result false;
        
$pr "/^[a-zA-Z0-9_]{6,20}$/";
        if(
preg_match($pr$char)){
                
$result true;
        }
        return 
$result;
    }
    
    
// controllo email
    
function checkMail$m ) {
         
// andr3a / HTML.IT / caruccis
         
$r1 "([a-z0-9]+[";
         
$r2 "\-]?){1,3}([a-z0-9])*";
         return 
preg_match("/(?i)^{$r1}\._{$r2}\@{$r1}\.{$r2}\.[a-z]{2,6}$/"$m);
     }

    
// strip magic
    
function strip_magic ($value){ 
        
$value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value
        return 
$value
    }
    
    
// cancella vecchie registrazioni senza attivazione
    
function deleteoldreg(){
        
// minuti dopo i quali l'attivazione non � pi� possibile
        
$minuti 30;
        
$sql "DELETE FROM utenti WHERE (data + INTERVAL $minuti MINUTE) < NOW() AND attivo='0'";  
        
mysql_query($sql);
    }
    
    
//creazione codice attivazione account
    
function ActiveCode($nome_utemte){
        
$chiave_attivazione md5(time().$nome_utemte.secretword);
        return 
$chiave_attivazione;
    }
    
    
// attivazione account utente
    //@ $user = campo user del link di attivazione
    //@ $active = campo active del link di attivazione
    
function ActiveUser($user,$active){
        
$return false;
        if(!
strip_char($user) && !preg_match("/^[a-zA-Z0-9]{32}$/",$active)){
            return 
$return;
        } else {    
            
$conn dbconn();
            
$userDb mysql_real_escape_string(strip_magic($user),$conn);
            
$chiaveDb mysql_real_escape_string(strip_magic($active),$conn);
            
$sql_attiva "UPDATE utenti SET attivo = '1' WHERE username = '$userDb' AND chiave = '$chiaveDb' AND attivo = '0'"
            
$res_attiva mysql_query($sql_attiva,$conn);
            
$num_righe mysql_affected_rows($conn); 
            if(
$num_righe == 1){$return true;}
            return 
$return;
        }    
    }
    
    
/* 
    @ la funzione restituisce true solo se i dati passati sono validi(preg_match) e NON esiste un user con lo stesso username o email
    */
    
function RegUser($username,$email,$password,$passwordver){
    
        
$return false;
    
        
$connessione dbconn();
        
deleteoldreg();
        
        
$usernameStrip strip_magic(trim($username));
        
$emailStrip strip_magic(trim($email));
        
$passwordStrip strip_magic(trim($password)); 
        
$passwordverStrip strip_magic(trim($passwordver));

        if(
            
strip_char($usernameStrip) &&
            
checkMail($emailStrip) &&
            
strip_char($passwordStrip) &&
            
$passwordStrip===$passwordverStrip
        
){

            
$userDB mysql_real_escape_string($usernameStrip,$connessione);
            
$emailDB mysql_real_escape_string($emailStrip,$connessione);
            
$passwordDB mysql_real_escape_string($passwordStrip,$connessione);
            
            
$sql "SELECT id FROM utenti WHERE username='$userDB' OR email='$emailDB'";
            
$risultato mysql_query($sql$connessione);
            
$num_righe mysql_num_rows($risultato);
            
            if(
$num_righe == 0){
                
$md5pass md5(md5($passwordDB));
                
$chiave ActiveCode($usernameStrip);
                
$sql2 "INSERT INTO utenti(username,password,email,data,chiave,attivo) VALUES('$userDB','$md5pass','$emailDB',NOW(),'$chiave','0')";
                
$result mysql_query($sql2$connessione);
                
$linkattivazione pathactiveuser.'?$user='.$usernameStrip.'&active='.$chiave;
                
$headers =     'From: '.adminmail."\r\n" .
                             
'Reply-To: '.adminmail"\r\n" .
                             
'X-Mailer: PHP/' phpversion();
                 
$subject "Email di attivazione ".nomesito;
                 
$message "Per attivare il tuo account devi visitare il seguente link: ".$linkattivazione;
                 if(
mail($emailStrip$subject$message$headers)){
                    
// email inviata
                    
$return true;
                }
            
// esiste un utente con lo stesso username o password    
            
} else {
                
$return false;
            }
            
        
// dati passati dal form non sono validi    
        
} else {
            
$return false
        }
        
        return 
$return;    
    }
    
    

?>
Rimango in attesa! Grazie.

(ma davvero hai 14 anni?)