Uno script molto utile per generare una password casuale per gli utenti, quando all’atto di iscrizione gli chiediamo di inserire unicamente l’email.
L’utente che si iscrive ad un sito deve potersi dis-iscrivere o
loggarsi nuovamente per effettuare un pronostico o una qualunque altra
azione che riguardi i suoi dati e il suo indirizzo di posta elettronica.
Creiamo prima di tutto un form che accetti l’indirizzo di posta elettronica:
<form method="post" action="genera_pwd.php">
<input type="text" name="email">
</form>
Il file genera_pwd.php cattura l’email ne controlla la validità e se
l’email è adatta, utilizza la data e l’ora attuale per generare la
password con un numero di caratteri scelti.
Per completare l’istruzione memorizziamo l’informazione all’interno del
database ed inviamo una mail di benvenuto al nuovo iscritto.
Procediamo:
<?php
$numero = 12;
// numero caratteri da usare per la password
$email = $_REQUEST['email'];
if (!eregi(“[a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}”,$email)) {
print “<p>email non valida</p>”;
exit;
}
// controllo validità email
$data = date(“Y-m-d H:i:s”);
$password = substr(md5($data),0,$numero);
// ho generato una password casuale legata all’orario
$connection = mysql_connect(‘host’,'user’,'pass’) or die(“Errore nella connessione MySQL: ” . mysql_error());
mysql_select_db(‘name’,$connection) or die(“Errore nella selezione del database: ” . mysql_error());
// effettuo la connessione al DB
$querySQL = “INSERT INTO utenti (utente,password,email) VALUES (“;
$querySQL .= “‘” . $email . “‘,’” . $password . “‘,’” . $email . “‘)”;
mysql_query($querySQL,$connection) or die (“Errore nella query:” . mysql_error());
// scrivo nel database i dati
$messaggio = “<p>Benvenuto nella Community di tuoSito</p>”;
$messaggio .= “<p>Il tuo username è: “.$email.”<br>”;
$messaggio .= “La tua password è: “.$password.”</p>”;
$messaggio .= “<p>Torna a trovarci presto!</p>”;
// costruisco il messaggio da inviare
$resultmail = @mail($email,”Iscrizione newsletter Tuosito”,$messaggio,”Bcc: info@tuosito.it”);
// invio messaggio
if($resultmail) print “Benvenuto. La tua password ti è stata inviata via mail”;
else print “L’invio della mail è attualmente inattiva. Richiedi la password al webmaster”;
// controllo se l’invio ha avuto successo
?>
Articolo concesso ed ideato da www . yappy . it
Popularity: 12% [?]
Vuoi essere sempre aggiornato??? Iscriviti ai feed o invia un trackback
Nessun commento, scrivi tu il primo!
Articoli correlati