modulo di iscrizione

  • Creatore Discussione Creatore Discussione zorro
  • Data di inizio Data di inizio

zorro

Utente Attivo
20 Ott 2014
333
21
28
ROMA
Salve a tutti,
come da titolo sono alle prese con un modulo di registrazione. Dopo numerose prove (pare) che funzioni.
Il modulo invia all'utente una mail di conferma contenente un link sul quale l'utente deve cliccare per confermare l'iscrizione; il link riporta l'indirizzo della pagina alla quale l'utente viene reindirizzato una volta cliccato, più altre informazioni. Ma se io volessi, al posto dell'indirizzo della pagina, inserire un link generico, ad es. 'conferma iscrizione' per non rendere visibile l'indirizzo all'utente ? E possibile ? Sono giorni che mi sto rompendo la testa. Grazie a utti

Zorro
 
Ciao,
per come stai descrivendo la tua problematica sembra che la soluzione sia la seguente

HTML:
<a href="http://example.com/">Conferma indirizzo</a>

All'interno dell'attributo href del tag a è specificato l'indirizzo al quale l'utente verrà reindirizzato, mentre tra <a> e </a> viene mostrata la dicitura 'Conferma indirizzo'.
 
Credo che non sia questo quello che intende, perchè in realtà l'indirizzo lo vede comunque, non direttamente scritto nella mail, ma nella barra degli indirizzi si, e forse anche solo posizionando il mouse sopra il link.

Secondo me non dovresti preoccuparti di vedere o meno l'indirizzo, ma casomi di fare in modo che quell'indirizzo sia utilizzabile una sola volta e per quell'utente specifico.

mi spiego meglio...
quando l'utente si registra tu crei un codice univoco (che l'utente non vede e non sa che esiste) e lo utilizzi per la conferma, ad esempio potrebbe essere l'hash MD5 della mail, questo codice lo salvi insieme ai dati di registrazione nel db e lo vai a ricercare dopo quando confermi la mail ricavandolo con $_GET dalla url del sito, se il codice esiste e se la mail non risulta già confermata è tutto ok.

a questo punto il link lo crei dinamicamente e personalizzato per ogni utente in modo che risulti una cosa del tipo

www.tuosito.it/confirmation.php?id=11&cod=mnbk3nbkijb43kb34kjb34k3jb43k4jb34kjb3
quindi con $_GET['id'] recuperi l'id di registrazione dell'utente, mentre con $_GET['cod'] quella stringa apparentemente senza senso, ma che in realtà è l'hash MD5 della mail, a quel punto fai la ricerca nel db etc etc
 
Ciao AdeKnite, e grazie per la risposta.
Per inviare la mail di conferma, io uso la funzione mail():


PHP:
$to = $mail;
$ogetto = 'La tua mail';
$body = '.....http://.........-';
if (mail($to,$ogetto,$body)) {
    echo '<script type="text/javascript">
            alert("La mail è stata correttamente inviata, grazie")
          </script>';
}

e, tramite $body, invio l'indirizzo della pagina, sottoforma di link. La mia domanda, probabilmente mal formulata era: invece di inviare l'indirizzo della pagina, è possibile inviare 'conferma iscrizione', sempre sottoforma di link, e in qualche modo 'agganciarci' l'http://..-.......? Grazie
 
Ho notato che non inserisci l'header della mail. Ti posto uno spezzone di codice in cui ne viene costruita una in cui si dichiara che il corpo della mail è in formato HTML. In questo modo nel body puoi inserire tranquillamente del codice html: in questo caso si tratta di inserire un normale link tramite il tag <a></a>.
PHP:
$mail_mittente = "[email protected]";

//costruisco la header della mail
$mail_headers = "From: " .  $mail_mittente . ">\r\n";
$mail_headers .= "Reply-To: " .  $mail_mittente . "\r\n";
$mail_headers .= "X-Mailer: PHP/" . phpversion() . "\r\n";
$mail_headers .= "MIME-Version: 1.0\r\n";
$mail_headers .= "Content-type: text/html; charset=iso-8859-1"; // la mail è in formato html 

// dichiaro le altre variabili per la funzione mail()
$to = $mail;
$mail_oggetto = "La tua mail";
$email_body = "<a href='http://example.com/'>Conferma indirizzo</a>";

//invio la mail
if (mail($to,$mail_oggetto,$email_body,$mail_headers)) {
    echo '<script type="text/javascript">
            alert("La mail è stata correttamente inviata, grazie")
          </script>';
}
 
Grazie AdeKnite,
ho provato il tuo codice e funziona alla grande. Come ho scritto all'inizio, ci stavo sbattendo la testa da giorni
Grazie ancora, e grazie anche a Rikk73. Grazie


Zorro
 
  • Like
Reactions: Rikk73

Discussioni simili