Come non detto. Questo codice funziona:

Codice PHP:
<?php
if(!isset($_POST['submit']))
{
    
header("Location: [url]http://www.listafacile.com[/url]");
    die;
    exit;
}
//varie info per email
$oggi date("j F Y G:i");
$sito "http://www.listafacile.com";
$ip "$_SERVER[REMOTE_ADDR]";
$browser "$_SERVER[HTTP_USER_AGENT]";
$soggetto "Modulo da $sito";
$mail htmlentities(strip_tags($_POST['mail']));


if(
trim($_POST['mail']) == "")
{
print 
"La mail è obbligatoria
<a href=\"formregistraz.php\">indietro</a>
"
;
}
else 


include(
"config.php"); 
mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi"); 
mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");

$sql "SELECT * FROM utenti WHERE mail = '$mail'"
$result mysql_query ($sql) or die (mysql_error()); 
$n mysql_num_rows($result); 

if (
$n != 0

echo 
"L'email inserita è corretta
"



// Imposto la lunghezza della password a 10 caratteri
$lung_pass 10;

// Creo un ciclo for che si ripete per il valore di $lung_pass
for ($x=1$x<=$lung_pass$x++)
{
  
// Se $x è multiplo di 2...
  
if ($x 2){

    
// Aggiungo una lettera casuale usando chr() in combinazione
    // con rand() che genera un valore numerico compreso tra 97
    // e 122, numeri che corrispondono alle lettere dell'alfabeto
    // nella tabella dei caratteri ASCII
    
$mypass $mypass chr(rand(97,122));

  
// Se $x non è multiplo di 2...
  
}else{

    
// Aggiungo alla password un numero compreso tra 0 e 9
    
$mypass $mypass rand(0,9);

  }
}

//imposto la seconda query che aggiorna il database con la password temporanea
include("config.php"); 
mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi"); 
mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");

mysql_query("UPDATE utenti SET password = '".$mypass."' WHERE mail = '".$mail."'") or die(mysql_error());


            
                                                
// settare qui quello che apparirà nel campo from della email
                                
$from_mail "info@iso-consulenze.info";
                                
// invio della mail contenente la passwd e gli altri dati
                                     
$To="$mail";
                                     
$Headers ="From: $from_mail";
                                     
$Soggetto="[[url]www.iso-consulenze.info[/url]] I tuoi dati di accesso";
                                     
$Corpo.="Ciao!\n\n";
                                     
$Corpo.="     Sono il programma Sendmail di [url]http://www.iso-consulenze.info[/url]";
                                     
$Corpo.="     Questa è la tua nuova password:\n\n";
                                     
$Corpo.="     La tua password: $mypass\n\n";
                                     
$Corpo.="     A presto!\n\n";
                                     
$Corpo.="--------------------------------------------\n";
                                     
$Corpo.="$from_mail\n";
                                     
$Corpo.="http://www.iso-consulenze.info\n";
                                     
$Corpo.="--------------------------------------------\n";
                                     
mail($To$Soggetto$Corpo$Headers);

                                    echo 
"ti è stata inviata una mail all'indirizzo $mail con i tuoi dati";



mysql_close();
?>
La passowrd viene cambiata. Mi resta il dubbio del controllo sulla correttezza della mail. Il tipo di controllo che effettuo sulla mail è giusto?