Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Un sistema d'iscrizione con conferma e password reminder

Articolo scritto da Claudio Garau
Pagina 4 di 4

4. Il modulo "ricorda password"

Dimenticare le pasword è una cosa che accade spesso, in particolare se si utilizzano molti servizi basati su aree riservate; stesso discorso per quanto rigarda le email, plausibilemente il nostro messaggio per la conferma con i dati di attivazione finirà molto presto sepolto in un mare di altra posta e sarà alquanto difficile ritrovarlo.

(L'articolo continua più sotto...)

Consci di questo problema che oggi come oggi riguarda un pò tutti, è bene facilitare la vita dei nostri utenti mettendo a loro disposizione un modulo per rientrare in possesso delle password dimenticate.

Nello scriptino che andremo ad analizzare non vi sono passaggi particolarmente complessi e per molti versi si tratta di un listato che ha tanti punti in comune con queli proposti nel corso di questa breve guida.

Per richiedere la propria password gli utenti dovranno indicare al modulo l'indirizzo di posta elettonica utilizzato in iscrizione; questo subirà il già noto controllo tramite espressioni regolari per la verifica del formato.

Se il formato dovesse risultare regolare, allora la tabella verrà interrogata in modo da stabiliere che l'indirizzo inviato sia effettivamente contenuto all'interno di uno dei records memorizzati.

Superata anche la seconda fase di verifica verrà inviata una mail contenente la password utilizzata per l'iscrizione:

<?php
// controllo sul parametro d'invio
if(isset($_POST['submit']) && (trim($_POST['submit']) == "Richiedi"))
{ 
  //controllo sul formato dell'email
  if((!isset($_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$", $_POST['email'])))
  {
    // parametro non corretto
    echo "Attenzione, formato email non valido.";
  }else{
    // se il parametro è corretto interroghiamo il database
    $email = $_POST['email'];

    // includiamo il file di configurazione
    @include "config.php";

    $ctrl_mail = @mysql_query("SELECT password FROM iscrizioni WHERE email='$email'") or die (mysql_error());
    if(@mysql_num_rows($ctrl_mail) == 0)
    {
      echo "L'email non risulta registrata.";
    }else{
      //recuperiamo la password
      if($ctrl_obj = @mysql_fetch_object($ctrl_mail) or die (mysql_error()))
      {
        // messaggio di conferma
        echo "Abbiamo inviato la password al tuo indirizzo email";

        // email per la conferma
        // intestazioni
        $headers = "From: $admin_email\nreply-To: noreply\r\n";
        $subject = "Ricorda Password.";
        // corpo del messaggio
        $messaggio = "Ciao.\n";
        $messaggio .= "La tua password è: ".$ctrl_obj->password."\n";
        // invio dell'email
        @mail($email, stripslashes($subject),stripslashes($messaggio),$headers);
      }
    }
  } 
}else{
  // form per la richiesta
  ?>
<h1>Modulo ricorda password:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Email:<br>
<input name="email" type="text" size="20"><br>
<input name="submit" type="submit" value="Richiedi">
</form>
  <?
}
?>
Tutto molto semplice quindi, il codice presentato potrà essere modificato e implementato secondo le diverse esigenze; per evitare che i nostri moduli siano presi d'assalto dagli spammers si raccomanda di integrare ogni form con l'integrazione di un codice di convalida ad inserimento manuale di tipo CAPTCHA.

Corsi
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. A partire da 49 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122