Modulo contatti con PHP e Jquery

Oggi vedremo come realizzare un semplice modulo contatti con php e jquery.
Queste due tecnologie verranno utilizzate rispettivamente per:
- PHP gestire le funzioni back, cioè controllo dei dati e invio mail;
- JQUERY per inviare i messaggi di errore o di successo dell’invio della pagina. Il tutto senza aggiornare la pagina dove risiede il form.
Per cominciare realizziamo il form in html per l’invio dell’ e-mail.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <html> <head> <title>Invio Mail con PHP & Jquery</title> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="mail.js"></script> </head> <body> <form id="form_contatto" method="post" > <b>Nome : </b> <input type="text" name="nome" id="nome"><br> <b>Oggetto : </b> <input type="text" name="oggetto" id="oggetto"><br> <b>Tua Mail : </b> <input type="text" name="mail" id="mail"><br> <b>Testo : </b><br> <textarea cols="30" rows="10" name="testo" id="testo"></textarea><br><br> <input type="submit" value="Invia Mail" id="button" name="button"> </form> <div id="risposta_form"></div> </body> </html> |
Come avete visto, sotto il form c’è un div con id=risposta_form. Esso servirà a ricevere la risposta dalla pagina che invia la mail. Vediamo ora cosa scrivere nel nostro foglio mail.js.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | $(document).ready(function(){ $("#button").click(function(){ var nome = $("#nome").val(); var oggetto = $("#oggetto").val(); var mail = $("#mail").val(); var testo = $("#testo").val(); var esito = ''; if (nome.length<1) { var esito = "Nome errato <br>"; } if (oggetto.length<1) { var esito = "Oggetto errato <br>"; } if (!mail.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) { var esito = "Mail errata <br>"; } if (testo.length<1) { var esito = "Testo errato <br>"; } if (esito == "" ) { // inviamo la mail var dati_mail ='nome=' + nome + '&oggetto=' + oggetto + '&mail=' + mail + '&testo=' + testo; $.ajax({ type: "POST", url: "mail.php", data: dati_mail, cache: false, success: function(html){ var esito = "Ok, sto inviando l'mail"; $("#risposta_form").fadeIn("slow"); $("#risposta_form").html(esito); $("#risposta_form").css("background-color","#146803"); setTimeout('$("#risposta_form").fadeOut("slow")',2000); }}) } else { // non inviamo la mail $("#risposta_form").fadeIn("slow"); $("#risposta_form").html(esito); $("#risposta_form").css("background-color","#cc0000"); } return false; }); }); |
E ora il nostro file php, pronto per inviare la mail:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $la_tua_mail = "nome@tua_mail.ext"; $nome = $_POST['nome']; $oggetto = $_POST['oggetto']; $mail_mittente = $_POST['mail']; $testo = $_POST['testo']; mail ($la_tua_mail, $oggetto, $testo, "From: $mail_mittente"); echo "Complimenti mail inviata con successo"; ?> |
Puoi vedere l’esempio da qui oppure scaricare il tutto in pochi secondi.
Ti è piaciuto l’articolo , scrivimi
Potresti trovare interessante anche





12 ottobre 2010

[...] Per personalizzare la tua pagina 404 ti consiglio questo mio articolo online di htaccess e la personalizzazione delle pagine di errore, mentre per il form vi consiglio qualcosa in jquery come in quest’altro articolo mio sui form e jquery. [...]