Risorsa informatica – Blognews

facebook twitter rss youtube

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

condividi su facebook
Categories: Web

26 Commenti

  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

  14. Fausto scrive:

    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.

  15. Vincenzo scrive:

    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

    • admin scrive:

      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”

      • Vincenzo scrive:

        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.

      • admin scrive:

        Grazie per aver indicato la soluzione al suo problema, probabilmente utile a chi si trova nella stessa situazione.

  16. Angelo scrive:

    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

  17. luke scrive:

    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!! ;)

  18. roberto scrive:

    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

    • admin scrive:

      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()

  19. johnks scrive:

    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

Rispondi


Articoli importanti

Rimuovere il diario di...

Scritto il 16 - dic - 2011

56 Commenti

Modificare un template joomla

Scritto il 6 - mar - 2009

26 Commenti

Creare un form mail

Scritto il 25 - apr - 2009

26 Commenti

Creare una newsletter Joomla...

Scritto il 20 - ott - 2009

24 Commenti

Immagine profilo facebook a...

Scritto il 16 - dic - 2010

24 Commenti