Prima di iniziare dobbiamo verificare di avere una pagina nella quale inserire il codice del form che sarà la poi nostra pagina contatti . Abbiamo creato un documento vuoto chiamato pagina contatti e due cartelle per ospitare magari ci fosse esigenza 2 mail diverse Avremo quindi una situazione simile 
Nella prima cartella creeremo un file php che sarà il gestore dell’invio della mail . Chiamiamolo invia.php

Apriamolo e incolliamo il seguente contenuto
<?php // inserisci qui il tuo indirizzo email $receiverMail = “tuo_indirizzo@email.xxx“; // pulizia dei dati inseriti $name = ltrim(rtrim(strip_tags(stripslashes($_POST['name'])))); $email = ltrim(rtrim(strip_tags(stripslashes($_POST['email'])))); $subject = ltrim(rtrim(strip_tags(stripslashes($_POST['subject'])))); $msg = ltrim(rtrim(strip_tags($_POST['msg']))); // lettura dell’indirizzo IP $ip = getenv(“REMOTE_ADDR”); // formattazione del messaggio ( \n per le messe a capo ) $msgformat = “Messaggio da: $name ($ip)\nEmail: $email\n\n$msg”; // verifica campi obbligatori if(empty($name) || empty($email) || empty($subject) || empty($msg)) { echo “<h3>Il messaggio non è stato inviato</h3><p>Compila tutti i campi obbligatori!</p>”; } // verifica indirizzo email elseif(!ereg(“^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$”, $email)) { echo “<h3>Il messaggio non è stato inviato</h3><p>L’indirizzo email indicato non è valido!</p>”; } else { // invio del messaggio mail($receiverMail, $subject, $msgformat, “From: $name <$email>”); echo “<h3>Il messaggio e’ stato inviato!</h3><p>Riceverai una risposta il prima possibile!</p>”; } ?>
Dove $receiverMail = inserirete il vostro indirzzo sulla quale volete ricevere la posta . Ci troveremo quindi con uno screen simile
Aprimo la pagina dei contatti che si presenterà inizialmente cosi :
Facciamo in modo che venga richiamato il tutto tramite il form con il seguente codice tra <body> e </body>
<form method=”post” action=”mail1/invia.php“> <font face=”Verdana”><b><font size=”2″>Nome:<br /></font></b> <input name=”name” size=”30″ maxlength=”40″ style=”font-weight: 700″ /><b><font size=”2″><br /><br /> Email:<br /></font></b> <input name=”email” size=”30″ maxlength=”40″ style=”font-weight: 700″ /><b><font size=”2″><br /><br /> Oggetto:<br /></font></b> <input name=”subject” size=”30″ maxlength=”40″ style=”font-weight: 700″ /><b><font size=”2″><br /><br /> Messaggio:</font></b></font><br /><textarea name=”msg” cols=”50″ rows=”6″></textarea><br /><br /> <input type=”submit” value=”Invia” /> </form>
Abbiamo inserito il file di invio in una cartella di nome mail1 e pertanto è possibile variare la destinazione Salviamo il tutto ed il nostro form di base è prono !











Ho seguito la guida , sono riuscito a creare il form , vorrei però cambiare “messaggio” con Testo , come devo fare ?
Grazie Massimo
Ciao Massimo N. , puoi modificare il messaggio editando la parte Messaggio in Testo nella parte che qui vedi alla riga 11
Ciao a tutti, io ho seguito tutte le istruzioni passo passo, ma alla fine, quando creo il modulo, il tasto invia non compare ma al suo posto c’è la scritta ”Invia” solo come testo. dove ho sbagliato?
Ciao ora il tasto mi compare ma, una volta compilato il modulo, mi si apre questo:
Il messaggio non è stato inviato
Compila tutti i campi obbligatori!
”; } // verifica indirizzo email elseif(!ereg(”^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$”, $email)) { echo “
Il messaggio non è stato inviato
L’indirizzo email indicato non è valido!
”; } else { // invio del messaggio mail($receiverMail, $subject, $msgformat, “From: $name ”); echo “
Il messaggio e’ stato inviato!
Riceverai una risposta il prima possibile!
”; } ?>
malgrado io abbia compilato tutti i campi. Che devo fare?
Mi sembra che tu abbia un problema con il php o hai fatto un errore di battuta nel compilare il file ;
Salve, ho lo stesso problema con il tasto invia, che non compare ma al suo posto c’è la scritta ”Invia” solo come testo. Qual è la soluzione al problema?
Ciao io vorrei creare un form proprio come questo per lasciar eun commento nella pagina che sto visualizando come faccio?
santeguero@yahoo.it
Nella pagina che visualizzi non è possibilie in quanto non di tua proprietà non hai l’accesso di inserirne il codice . Se si riferisce ad una pagina sua basata su wordpress ci sono dei plug-in appositi o si crea una pagina esterna in html linkata “Contattaci” .
Credo di non avere l’estensione php nel server , come posso rimediare in modo da far funzionare il form ?
Grazie mille , mi è stato veramente di aiuto
@Giglius , chiedi al tuo servizio di hosting
Ciao, ho creato il form, ma nonostante compilando tutti i campi mi dice che devo compilare tutti i campi,
come posso risolvere?, non credo di aver fatto errori di battitura,
Ho risolto;per il tasto invio il problema è che devi riscrivere tutte le virgolette ” nel foglio a mano,probabilmente facendo copia e incolla prende una formattazione non idonea(io uso dreamweaver)
Aggiungo che anche a me non funzionava il controllo dei campi obbligatori,quindi ho rimosso la stringa interessata,ora va benone.Grazie
Grazie per questo script a me funziona bene, ma fate attenzione nel copia e incolla c’è un errore delle virgolette devono essere così ” e non così “ ho dovuto fare un cerca e sostituisci ma funziona alla grande.
Innanzitutto complimenti per la guida: veloce, semplice, chiara ed efficace.
Volevo chiedere una cosa a proposito del tasto invia, spero di non risultare troppo banale:
Partendo dal presupposto che uso Dreamweaver (ed ho risolto il problema delle virgolette); dopo aver completato la creazione del form ho fatto un anteprima e ho compilato il form, ma quando clicco su invia mi dice che la pagina richiesta non è stata trovata; è un problema che riguarda il fatto che il sito non sia su un server oppure ho sbagliato qualcosa?
Un grazie in anticipo per la collaborazione.
Vincenzo
Assicurati di aver messo nella stessa cartella il file invia.php inoltre necessiti della lettura del php quindi o un webserver locale oppure in remoto su un hosting “qualunque”
Gentile Admin,
grazie per la risposta!
Ho risolto:
Riguardo alla cartella avevo fatto tutto correttamente, il mio errore, successivamente spartito in 2 diversi errori, era che:
1 Non avevo caricato il sito (tutti i file riguardanti il sito) su un server (neanche in locale).
2 Dopo aver osservato attentamente il codice di “invia.php” ho scoperto che non avevo “pulito” bene la prima riga, mandando a capo l’$della mail; un’intera riga era letta come commento!
Fortunatamente quindi sono riuscito a provare il tutto, anche grazie ad amici che mi hanno fatto il favore di hostare il sito per qualche ora.
Grazie per aver indicato la soluzione al suo problema, probabilmente utile a chi si trova nella stessa situazione.
Buon giorno,
Sono un nuovo utente ed inesperto utilizzatore di joomla,
premesso ciò, ho cercato di seguire le indicazioni riportate sopra.
Sono riuscito ad inserire in un articolo del mio sito il form di contatto, ma quando invio il tutto mi da il seguente errore:
503 Service Unavailable
The server is temporarily busy, try again later! Powered By LiteSpeed Web Server
LiteSpeed Technologies is not responsible for administration and contents of this web site!
Grazie per l’aiuto che vorrete fornirmi
Ciao Angelo, il form qui sopra non è stato indicato per joomla ma per pagine in php / html . Segua questa guida http://www.risorsainformatica.com/blognews/aggiungere-un-form-mail/ per inserire un form di contatti in joomla.
non riesco a risolvere il problema che aveva interessato e cioè:
una volta compilato il modulo, mi si apre questo:
Il messaggio non è stato inviato
Compila tutti i campi obbligatori!
”; } // verifica indirizzo email elseif(!ereg(”^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$”, $email)) { echo “
Il messaggio non è stato inviato
L’indirizzo email indicato non è valido!
”; } else { // invio del messaggio mail($receiverMail, $subject, $msgformat, “From: $name ”); echo “
Il messaggio e’ stato inviato!
Riceverai una risposta il prima possibile!
”; } ?>
da che può dipendere?? ho controllato tutto quello che è stato scritto dopo….. boh!!
Controlla i ”
ed eventuali errori di battitura
controllati sono giusti ma il problema è un altro….
nonostante paghi il dominio €35+iva non ho il supporto php…
grazie per la risposta!!! Buon lavoro
Buona sera!
Ho trovato queste informazioni e devo dire che a parte qualche problemino iniziale, tutto va alla grande! Complimenti.
Mi serviva sapere però 3 cose:
1) Come si fa a compilare il campo oggetto in maniera tale che una volta inviata sulla casella di posta non mi compaia (nessun oggetto)
2)è possibile avere una schermata graficamente più accattivante una volta avvenuto il corretto invio invece della pagina bianca?
3)Dopo inviato e ritornando alla form…come è possibile far si che i campi siano tutti puliti?
Non so se ho esagerato che le domande… ma mi saresti di grande aiuto.
Grazie
1) In teoria l’oggetto è preso dal campo oggetto quindi probabilmente c’è qualche errore nel codice il quale non trasferisce il dato.
2) Per la grafica basta avere minime conoscenze di PHP HTML e CSS. La personalizzazione è possibile e deve essere eseguita nel seguente:
echo “
Il messaggio e’ stato inviato!
Riceverai una risposta il prima possibile!
”
3) la pulizia dei campi può essere fatta attraverso javascript :
function clearForms()
{
var i;
for (i = 0; (i < document.forms.length); i++) {
document.forms[i].reset();
}
}
Di conseguenza richiamare la funzione onUnload=”clearForms()
Ciao…scusa il disturbo ho provato questo form…compilo i dati e tutto ma quando faccio la prova con dreamweaver mi da questo errore
Errore 6 (net::ERR_FILE_NOT_FOUND): Impossibile trovare il file o la directory.
forse devo prima caricarlo su server???
grazie in anticipo