Email di conferma dopo un form

Sette Giorni

Nuovo Utente
25 Mar 2016
4
0
0
Ciao a tutti, avrei bisogno di un aiuto per il form di iscrizione alla newsletter del mio sito. Premetto che con il linguaggio php sono alle prime armi. Ho creato un form dove l'utente inserirà il suo nome e la sua email. Una volta che clicca sul pulsante INVIO, i suoi dati arrivano nel mio database (acquistato su aruba) ma lui non riceve nessuna comunicazione di avvenuta registrazione. Vorrei che, contemporaneamente all'invio dei suoi dati, l'utente possa ricevere anche lui una e-mail con il mio messaggio di benvenuto. Cosa dovrei includere nel mio script? Vi ringrazio in anticipo per il vostro aiuto.
 
Basta usare Phpmailer, questo è uno script di esempio ;)

PHP:
<?php

require("class.phpmailer.php");



// Recupero tutte le variabili dal mio form

$nome = $_POST["nome"];

$cognome = $_POST["cognome"];

$telefono = $_POST["telefono"];

$email = $_POST["email"];

$testo = $_POST["testo"];



$nomemittente = $nome . ' ' . $cognome;



// Sistemo le variabili nel messaggio che mi arriverà per email

$messaggio = "<div style=\"font-family:Verdana, Arial, Helvetica, sans-serif; font-size: 14px; color: #000000;\"><br><br><br><br>

<strong>Nome:</strong> " . $nome . "<br>

<strong>Cognome:</strong> " . $cognome . "<br>

<strong>Telefono:</strong> " . $telefono . "<br>

<strong>E-mail:</strong> " . $email . "<br><br>

<strong>Testo:</strong> "  . $testo . "<br><br>

</div>";



$mail = new PHPMailer();



$mail->IsSMTP(); 

// L'host remoto con cui spediremo, nel caso di gmail è smtp.gmail.com

$mail->Host = "smtp.esempio.com";

$mail->SMTPAuth = true;



// Specifichiamo che vogliamo spedire tramite ssl, se non volete basta eliminae queste due righe

$mail->SMTPSecure = 'ssl';

$mail->Port = 465;



// Inseriamo i dati della casella che utilizzeremo per spedire

$mail->Username = "[email protected]";

$mail->Password = "password";



// Se avete problemi con l'invio decommentatelo

// $mail->SMTPDebug = 1;



$mail->From = "$email";

$mail->FromName = "$nomemittente";



// Qui inseriamo l'indirizzo a cui recapitare le email spedite tramite il form

$mail->AddAddress("[email protected]");



$mail->AddReplyTo("$email", "$nome");



// Lunghezza massima delle stringhe

$mail->WordWrap = 50; 



$mail->IsHTML(true);



$mail->Subject = "$nomemittente - Richiesta informazioni";

$mail->Body    = "$messaggio</b>";



// E' sempre meglio controllare i campi tramite php, javascript è aggirabile

if(strpos($testo,'http') !== false || strpos($testo,'www') !== false || strpos($testo,'HTTP') !== false || strpos($testo,'WWW') !== false){



// Se il campo testo contiere link blocco lo script e rimando a una pagina di errore

    header('Location: contatti-spam.html');

    exit();

    }elseif($nome == "" || $cognome == "" || $email == "" || $testo == ""){

    

// Se uno dei campi non è stato compilato blocco lo script e rimando a una pagina di errore

    header('Location: contatti-campi.html');

    exit();

}else{



// Se il messaggio è stato inviato correttamente mostro la pagina di avvenuto invio

    if($mail->Send()){

        header('Location: contatti-ok.html');

        exit();

    }else{

    

// Altrimenti rimando a una pagina di errore

        header('Location: contatti-errore.html');

        exit();

    } 

}

?>
 
@Rey
// E' sempre meglio controllare i campi tramite php, javascript è aggirabile

if(strpos($testo,'http') !== false || strpos($testo,'www') !== false || strpos($testo,'HTTP') !== false || strpos($testo,'WWW') !== false){

anche così è aggirabile "hTtp" o "wWw"
 

Discussioni simili