Risorsa informatica – Blognews

News dal mondo dell'informatica e della tecnologia

Creare un form mail

aprile - 25 - 2009

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 /> &nbsp;<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 !

seguici

13 commenti a “Creare un form mail”

  1. Massimo N. scrive:

    Ho seguito la guida , sono riuscito a creare il form , vorrei però cambiare “messaggio” con Testo , come devo fare ?
    Grazie Massimo

  2. admin scrive:

    Ciao Massimo N. , puoi modificare il messaggio editando la parte Messaggio in Testo nella parte che qui vedi alla riga 11

  3. Interessato scrive:

    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?

  4. Interessato scrive:

    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?

  5. admin scrive:

    Mi sembra che tu abbia un problema con il php o hai fatto un errore di battuta nel compilare il file ;

  6. justme scrive:

    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?

  7. massimo scrive:

    Ciao io vorrei creare un form proprio come questo per lasciar eun commento nella pagina che sto visualizando come faccio?
    santeguero@yahoo.it

  8. admin scrive:

    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” .

  9. Giuglius78988 scrive:

    Credo di non avere l’estensione php nel server , come posso rimediare in modo da far funzionare il form ?

  10. Giovanna scrive:

    Grazie mille , mi è stato veramente di aiuto
    @Giglius , chiedi al tuo servizio di hosting

  11. stefano scrive:

    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,

  12. mimmo scrive:

    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)

  13. mimmo scrive:

    Aggiungo che anche a me non funzionava il controllo dei campi obbligatori,quindi ho rimosso la stringa interessata,ora va benone.Grazie

Lascia un commento

Tutti i nomi dei prodotti , dei marchi, delle immagini, dei loghi presenti o citati sono registrati o depositati dai rispettivi autori/titolari.Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza nessuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001

è vietata la copia dei nostri articoli *contattaci per un accordo.

Per maggiori informazioni/richieste puoi contattarci tramite l'apposito modulo in home page