Creare un form per l’invio di email dal proprio sito con Html e Php
Il codice Php che dobbiamo utilizzare per inviare la nostra email è il seguente:
<?php
//raccogliamo le variabili inviate
$nome=$_POST['nome'];
$email=$_POST['email'];
$messaggio=$_POST['messaggio'];
$Submit=$_POST['Submit'];
//controlliamo che sia stato inviato il form
if($Submit=='Invia!'){
//controlliamo che siano stati inseriti tutti i dati
if(!empty($nome) and !empty($email) and !empty($messaggio)){
//inviamo l'email
$mail=mail("destinatario@email.it", "Oggetto email", $messaggio);
//controlliamo che la mail sia stata inviata correttamente
if($mail){
//messaggio in caso di successo
$ok="Email inviata!";
}
else{
//messaggio in caso di errore
$errore="Non è stato possibile inviare l'email, riprova.";
}
}
else{
//messaggio in caso di campi mancanti
$errore="Tutti i campi sono obbligatori!";
}
}
?>
Attraverso questo pezzo di codice viene controllato se l’utente inserisce effettivamente i suoi dati.
//controlliamo che siano stati inseriti tutti i dati
if(!empty($nome) and !empty($email) and !empty($messaggio)){
Possiamo scegliere il destinatario dell’email e l’oggetto modificando questa parte di codice:
$mail=mail("destinatario@email.it", "Oggetto email", $messaggio);
Inserendo i nuovi valori all’interno delle virgolette ” “, come nell’esempio qui sotto in cui invieremo la nostra email a info@tecnopillole.com e come oggetto Mail dal sito.
$mail=mail("info@tecnopillole.com", "Mail dal sito", $messaggio);
Ora non ci resta che unire nella stessa pagina il codice html e php..continua a pag 3 >>
Caricamento ...
Questo è il link della pagina che voglio inviare via e-mail una volta compilata:
http://europeanfestival.altervista.org/form2.htm
potreste dirmi cosa c’è che non funziona? grazie!
Purtroppo la pagina html non è utile per identificare il problema.
Devi mostrarci il codice sorgente (php).
potrebbe essere d’aiuto anche questo post Form Email
[php]
[/php]
Salve a tutti,
volevo chiedere un cosa,
quando invio un email con questo sistema arriva a destinazione correttamente ma c’è solamente il messaggio, non appare chi l’ha mandato e il nome di chi l’ha scritto.
I campi del form riguardanti il nome e email non vendono spediti…
il codice usato è quello descritto sopra.
Grazie mille per qualsiasi info.
E’ necessario aggiungere le seguenti righe di codice:
// Intestazioni aggiuntive $headers = 'From: Luca <luca@mail.com>' . "\r\n"; //invio la mail $mail=mail("destinatario@email.it", "Oggetto email", $messaggio, $headers);