Modulo Contatti
Taggato: modulo contatti jquery ajax php, topic-183
- Questo topic ha 0 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 12 anni, 7 mesi fa da terravulcanica.
- AutorePost
- 27 Luglio 2011 alle 16:45 #1618terravulcanicaPartecipante
Salve a tutti, sto creando un modulo contatti ma da giorni cerco di farlo funzionare e non riesco.
Il modulo contatti è composto dai seguenti campi: nome, email, oggetto del messaggio e messaggio.
Mediante JQuery Validation riesco a fare la corretta validazione degli input, però non riesco a passare i dati così validati ad una funzione ajax che non fa altro che inviare i dati ad un file .php per l’invio dell’email. Il file .php inoltre al termine dell’invio dell’email rilascia un messaggio di avvenuto invio.
Di seguito inserisco il codice jquery (Funzionante)con cui valido i campi:
$(“#modulo”).validate(
{
rules:
{
nome: “required”,
email:
{
required: true,
email: true
},
oggetto: “required”,
messaggio: “required”,
},
messages:
{
nome: ” Inserire un Nome valido!”,
email: ” Inserire un indirizzo email valido!”,
oggetto: ” Inserire un oggetto valido!”,
messaggio: ” Inserire un messaggio valido!”,
}
});
La funzione ajax da me creata e che non so come e dove inserire, dove datastr dovrebbe esssere un array con il contenuto degli input:
function send(datastr){
$.ajax({
type: “POST”,
url: “mail.php”,
data: datastr,
cache: false,
success: function(html){
$(“#risposta”).fadeIn(“slow”);
$(“#risposta”).html(html);
$(“#risposta”).css(“background-color”,”#e1ffc0″);
setTimeout(‘$(“#risposta”).fadeOut(“slow”)’,3000);
}
});
}
Di seguito il file .php per l’invio dell’email:
<?php
//Recuperiamo tutte le variabili
$mail = $_POST;
$name = $_POST;
$subject = $_POST;
$text = $_POST;
$ip = $_SERVER;
//Qui andrà inserito il tuo indirizzo e-mail
$to = “info@mioindirizzo.it”;
//Creazione del mesaggio da inviare
$message = “Dal Modulo Contatti del sito internet miositoweb.it, hai ricevuto una e-mail da: “.$name.”, “.$mail.”.”;
$message .= “Messaggio: “.$text.”
“;
$message .= “IP: “.$ip.””;
$headers = “From: $mail n”;
$headers .= “Reply-To: $mail n”;
$headers .= “MIME-Version: 1.0 n”;
$headers .= “Content-Type: text/html; charset=utf-8 n”;
//Se l’e-mail viene spedita correttamente, compare un messaggio di avvenuto invio
if(mail($to, $subject,$message, $headers)){
echo “<p>Messaggio inviato con successo a info@mioindirizzo.it</p>”;
}
//Altrimenti un messaggio di errore
else{
echo “<p>Ci sono stati degli errori nell’invio della e-mail.</p>”;
}
?>
Come posso integrare il tutto… tutto questo nasce perchè dentro il sito web che sto creando ho altri plugin jquery e per farli funzionare devo trasformare le funzioni in plugin.
Comunque facendo una ricerca sono arrivato a conoscere la funzione submithandler ma non so proprio cosa inserire. come faccio a passare i dati del modulo validati e a richiamare la funzione ajax e quindi il php? Insomma Aiuto.
Grazie infine.
Sarebbe stupendo poter creare un plugin completo per l’invio delle email personalizzabile.
- AutorePost
- Devi essere connesso per rispondere a questo topic.