+ Rispondi alla Discussione
Risultati da 1 a 17 di 17

Creare un form con mail che invia una richiesta

Ultimo Messaggio di Samyorn il:
  1. #1
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89

    Creare un form con mail che invia una richiesta

    Salve a tutti,
    è da poco che bazzico su questo forum ed è questa la prima volta che scrivo in questa sezione.

    Tutto il mondo della creazione di siti mi è alquanto oscuro, ma in maniera particolare tutto ciò che ha a che vedere con la programmazione.

    Scrivo per chiedere un aiuto o anche solo un buon consiglio:

    vorrei creare un form su alcune pagine del mio sito che funzioni più o meno in questo modo:

    - io promuovo una serie di piccoli e-book
    - un utente accede alla pagina e trova un form che gli chiede:
    nome, cognome, provincia, mail
    - un tasto che gli dice che se si iscrive ad una mailing list sarà automaticamente aggiornato su tutti gli e-book che pubblicherò (per invogliarlo ad iscriversi)
    - in automatico mi parte una mail con il link dell'e-book
    - lui viene reindirizzato su una pagina di ringraziamento
    - una volta al mese gli arriva una mail con i link dei nuovi e-book


    So che in mezzo a questa richiesta ci sono vari argomenti, non tutti trattabili in questa sezione.
    Ho scritto tutto per rendere più facile la comprensione generale.
    Esaurito un aspetto, aprirò un altro topic nella sezione adatta per affrontarne un altro.

    Nello specifico qui chiedo dove e come reperire un modulo, se bisogna farne uno personalizzato o se si possono trovare di personalizzabili

    grazie mille
    rafa

  2. #2
    Consiglio Direttivo L'avatar di Samyorn
    Data Registrazione
    Dec 2007
    Località
    Catania
    Messaggi
    6,000
    Segui Samyorn su Twitter Aggiungi Samyorn su Google+ Aggiungi Samyorn su Facebook Aggiungi Samyorn su Linkedin
    Ciao pinokkietto,
    come hai ben detto sono più argomentazioni, ma con un po' di buona volontà e pazienza vedrai che riuscirai a venirne a capo.

    Intanto posso segnalarti due discussioni presenti nella sottosezione Scripting e Risorse utili.
    Uno per l'invio di mail tramite form, che trovi quì.
    L'altro per l'invio di newsletter, con utilizzo di un Db MySQL, quì (eventualmente è presente anche una versione che non utilizza l'appoggio del Db, quì).

    Alcuni aspetti da te citati probabilmente andranno ricercati in altri script presenti in sezione o puoi provare ad usufruire anche della sottosezione Funzioni di PHP.

    Spero di esserti stato utile e che riuscirai nel tuo intento.

    Per chiarimenti, siam sempre quì.
    MODFunzioni di PHP Qui, Quo, Qua
    Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?

  3. #3
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89
    Innanzitutto ti ringrazio per le tue segnalazioni, che ho letto e sto leggendo con molto interesse ma, ahimè, non credo di riuscirne a capire molto.

    In ogni caso approfitto ancora della tua disponibilità per chiederti un aiuto, questa volta un pelino più mirato:

    in rete sono riuscito a trovare un form e sono riuscito a modificarlo in base alle mie esigenze. Quello che adesso mi manca è l'implementazione del file .php ad esso associato, per far funzionare il tutto al meglio.

    Mi spiego:

    - questo è il form: [...]
    collegato al file inviamail.php

    - ho bisogno di inserire questo form in più pagine per rendere disponibile il download di più contenuti: pagina 1 con contenuto 1, pagina 2 con contenuto 2 e così via.

    - ho bisogno anche che il form mandi la mail con oggetto1 se si trova su pagina1, oggetto2 se si trova su pagina2 e oggetto3 se si trova su pagina 3

    La cosa è possibile con una semplice stringa da inserire nel file .php oppure è necessario avere un file .php per ogni pagina?

    Io, sguazzando nella mia ignoranza, ho pensato che potesse esistere una soluzione, ma le mie sono solo speculazioni filosoficheggianti:

    - ho pensato che fosse possibile inserire una stringa, magari non visibile, all'interno della pagina che contiene il form e far si che, di volta in volta, il file php vada a leggersi quella stringa, così se su pagina 1 inserisco il form e nel form compilo laa stringa "oggetto1", la mail inviata dal form avrà quell'oggetto..

    Se po' fa?!

    In ogni caso, grazie mille
    rafa
    Ultima modifica di Samyorn; 19-01-12 alle 22:15 Motivo: Tolto riferimento al sito per Autopromozione. Maiuscole ad inizio frase. ;)

  4. #4
    Consiglio Direttivo L'avatar di Samyorn
    Data Registrazione
    Dec 2007
    Località
    Catania
    Messaggi
    6,000
    Segui Samyorn su Twitter Aggiungi Samyorn su Google+ Aggiungi Samyorn su Facebook Aggiungi Samyorn su Linkedin
    E ti dirò che hai pensato bene!!

    Basta inserire nel form un hidden data che punti al contenuto interessato a quella pagina:
    Codice HTML:
    <input type="hidden" name="object" value="1">
    Insieme agli altri dati, nel file .php, recuperi anche il valore di object ed a seconda del suo valore ti gestirai il link e l'oggetto della mail.

    Ti faccio un esempio molto semplice di come poter fare:

    Codice PHP:
    <?php
    $object
    ="";
    $object=$_POST['object'];
    switch (
    $object){
       case 
    1:
          
    $object_mail="Oggetto mail prodotto 1";
          
    $link="vvv.nomesito.ext/indirizzoprodotto1";
          break;
       case 
    2:
          
    $object_mail="Oggetto mail prodotto 2";
          
    $link="vvv.nomesito.ext/indirizzoprodotto2";
          break;  
       case 
    3:
          
    $object_mail="Oggetto mail prodotto 3";
          
    $link="vvv.nomesito.ext/indirizzoprodotto3";
          break;
    ........
       case 
    n:
          
    $object_mail="Oggetto mail prodotto n";
          
    $link="vvv.nomesito.ext/indirizzoprodotton";
          break;
    }
    ?>
    Così avrai valorizzato l'oggetto della mail ed il link da includere nella mail a seconda del valore ricevuto dal form tramite l'hidden data.

    Ultima modifica di Samyorn; 19-01-12 alle 21:01
    MODFunzioni di PHP Qui, Quo, Qua
    Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?

  5. #5
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89
    Samyorn innanzitutto ti ringrazio, perchè so che mi hai dato un grande aiuto. Purtroppo per me, però, in queste cose vado un po' preso per mano perchè proprio non ne capisco:

    - inserendo la stringa "hidden" nel form, al posto di "object", devo scrivere l'oggetto della mail?
    Quel "value=1" si riferisce a qualcosa del tipo "1=acceso" "0=spento" oppure è il testo che inserisco in questo campo a diventare poi l'oggetto della mail?

    - il codice php che mi hai indicato, sta a significare: se l'input arriva da pagina1 rispondi con Oggetto1, se arriva da pagina2 rispondi con Oggetto2 etc ?

    Scusami samyorn per la mia incompetenza.
    rafa
    Ultima modifica di Samyorn; 20-01-12 alle 15:14 Motivo: Maiuscole ad inizio frase. ;)

  6. #6
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89
    Aggiungo che ho provato diverse combinazioni, ma nessuna mi funziona:
    ricevo una mail senza alcun oggetto.

    rafa

  7. #7
    Consiglio Direttivo L'avatar di Samyorn
    Data Registrazione
    Dec 2007
    Località
    Catania
    Messaggi
    6,000
    Segui Samyorn su Twitter Aggiungi Samyorn su Google+ Aggiungi Samyorn su Facebook Aggiungi Samyorn su Linkedin
    Ciao pinokkietto,
    non hai nulla di cui scusarti, tranquillo.

    Il funzionamento dell'input "hidden" è similare agli altri innput presenti nel tuo form, uniche differenze: non è visibile e, nel tuo caso, è pre-valorizzato.

    Portandoti un semplice esempio, ammettiamo che questo sia il tuo form:
    Codice HTML:
    <form name="form" method="POST" action="inviamail.php">
    <input type="text" name="nome" value="" />
    <input type="text" name="email" value="" />
    <input type="hidden" name="object" value="1" />
    <input type="submit" value="Invia" />
    </form>
    Object è il nome dell'elemento da recuperare e value è il suo valore, in questo caso identifica la pagina1, nella pagina2 inserirai il value="2":
    Codice HTML:
    <form name="form" method="POST" action="inviamail.php">
    <input type="text" name="nome" value="" />
    <input type="text" name="email" value="" />
    <input type="hidden" name="object" value="2" />
    <input type="submit" value="Invia" />
    </form>
    Sul file inviamail.php recuperi tutti i dati inviati dal form:
    Codice PHP:
    <?php
    $nome
    ="";
    $email="";
    $object="";
    $nome=$_POST['nome'];
    $email=$_POST['email'];
    $object=$_POST['object'];
    ?>
    In questo modo avrai all'interno delle variabili $nome, $email ed $object i relativi dati ottenuti dal form. Solo che a seconda della pagina da dove viene trasmesso il form tu vuoi che vari l'oggetto della mail ed il link all'e-book.
    Questo lo puoi fare utilizzando la funzione switch() che, a seconda del valore di $object, eseguirà le istruzioni da te impostate, ovvero valorizzare l'oggetto della mail ed il link all'e-book
    Codice PHP:
    <?php
    switch ($object){
       case 
    1:
          
    $object_mail="Oggetto mail prodotto 1";
          
    $link="vvv.nomesito.ext/indirizzoprodotto1";
          break;
       case 
    2:
          
    $object_mail="Oggetto mail prodotto 2";
          
    $link="vvv.nomesito.ext/indirizzoprodotto2";
          break;  
       case 
    3:
          
    $object_mail="Oggetto mail prodotto 3";
          
    $link="vvv.nomesito.ext/indirizzoprodotto3";
          break;
    ........
       case 
    n:
          
    $object_mail="Oggetto mail prodotto n";
          
    $link="vvv.nomesito.ext/indirizzoprodotton";
          break;
    }
    ?>
    case 1 significa: "quando il valore di $object è uguale a 1" e così via.

    A questo punto avrai la variabile $object_mail che conterrà l'oggetto della mail relativo alla pagina da cui è stato inviato il form e la variabile $link che conterrà il link dell'e-book, sempre relativo alla pagina da cui è stato inviato il form. (Questi valori li devi ovviamente impostare tu case per case. )
    Sostituisci l'oggetto del tuo script mail con la variabile $object_mail ed inserisci nel testo della mail la variabile $link ed il gioco è, quasi, fatto.

    Nel precedente post mi son dimenticato di linkarti anche alcune FAQ presenti, quì.

    Spero di esser stato chiaro.
    MODFunzioni di PHP Qui, Quo, Qua
    Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?

  8. #8
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89
    Io sono più che sicuro che tu sia stato molto chiaro, ma io non riesco a farlo funzionare:

    ti allego il testo del mio form e quello del mio php, così mi dici cosa di preciso ho sbagliato. Premetto che il form l'ho scaricato, quindi ci sono anche delle indicazioni che, comunque, non mi sono bastate.. per questo chiedo scusa, perchè quando uno è tardo di comprendonio diventa pure scocciante!

    Ecco i miei file:

    la prima parte del form:

    <table border="0" width="540" height="420" cellspacing="0" cellpadding="0" background="http://www.giorgiotave.it/forum/images/contenuti/cornice_form.png" style="background-repeat:no-repeat">
    <tr>
    <td width="100%"><div align="center"><center><table border="0" width="100%">
    <tr>
    <td align="center" valign="top" rowspan="2" width="90%">
    <form name="modulo" method="post" action="inviamail.php">
    <input type="hidden" name="object" value="1" />



    Il file .php:

    //(3) oggetto del messaggio
    //$oggetto_email = "";

    $object="";
    $object=$_POST['object'];
    switch ($object){
    case 1:
    $object_mail="Oggetto mail prodotto 1";
    $link="vvv.nomesito.ext/indirizzoprodotto1";
    break;
    case 2:
    $object_mail="Oggetto mail prodotto 2";
    $link="vvv.nomesito.ext/indirizzoprodotto2";
    break;
    case 3:
    $object_mail="Oggetto mail prodotto 3";
    $link="vvv.nomesito.ext/indirizzoprodotto3";
    break;

    }

    Le parti in corsivo sono quelle che c'erano nel file scaricato. I 2 slash in neretto li ho aggiunti io per sostituire quella riga con le righe che mi hai dato tu.

    Di sicuro ho omesso qualche elemento di sintassi o roba simile, perchè la mail mi arriva sempre senza oggetto.

    Rafa
    Ultima modifica di Samyorn; 21-01-12 alle 11:42 Motivo: Maiuscole ad inizio frase. ;)

  9. #9
    Consiglio Direttivo L'avatar di Samyorn
    Data Registrazione
    Dec 2007
    Località
    Catania
    Messaggi
    6,000
    Segui Samyorn su Twitter Aggiungi Samyorn su Google+ Aggiungi Samyorn su Facebook Aggiungi Samyorn su Linkedin
    Prova a postare il form completo ed il file .php dove c'è la funzione mail() così vediamo come sistemarle.
    MODFunzioni di PHP Qui, Quo, Qua
    Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?

  10. #10
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89
    Samyorn io ti ringrazio davvero tanto, per tutto il tempo che mi stai deidcando e per l'onestà che mi hai dimostrato nello scambio di messaggi.

    Stavo copiando il codice del file .php per postartelo quando mi sono accorto, ahimè per la prima volta soltanto adesso, che alla fine del file c'era un richiamo alla variabile "object_mail".

    Ho sistemato quella, che nella versione originale del file si chiamava "oggetto_mail" ed è andato, finalmente, tutto liscio.

    Adesso non mi resta che, si fa per dire, che mettere su tutto l'ambaradan necessario per creare un sistema che mi salvi i dati delle mail in un database e che mi faccia da risponditore automatico all'arrivo delle mail da parte dei form.

    Ma per questo, mi sa, che mi conviene aprire un altro topic.

    Grazie mille e a buon rendere.
    Rafa
    Ultima modifica di Samyorn; 21-01-12 alle 11:22 Motivo: Maiuscole ad inizio frase. ;)

  11. #11
    Consiglio Direttivo L'avatar di Samyorn
    Data Registrazione
    Dec 2007
    Località
    Catania
    Messaggi
    6,000
    Segui Samyorn su Twitter Aggiungi Samyorn su Google+ Aggiungi Samyorn su Facebook Aggiungi Samyorn su Linkedin
    Ciao pinokkietto,
    se sei daccordo potremmo continuare su questo thread per implementare l'inserimento dei dati sul Db dato che riguarda lo stesso file .php di elaborazione. Poi se approdiamo, sempre con il tuo consenso, potremmo fare un ritocchino al Titolo della discussione e spostarla in Script e Risorse utili. Sarà di certo un enorme aiuto a tutta l'utenza del Forum.

    P.S. ho un paio di giorni di fuoco, non preoccuparti se non rispondo in breve tempo.
    MODFunzioni di PHP Qui, Quo, Qua
    Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?

  12. #12
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89
    Ovvio che sono d'accordo.

    Pensavo di chiudere la discussione solo perchè non volevo andare troppo OT, ma se ritieni che cambiandole il titolo e posizionandola in una sezione più adeguata possa essere d'aiuto ad altri, fa pure.

    A questo punto ne approfitto per fare un'altra domanda:

    ad essere sinceri io non capisco come il modulo possa inviare una mail, cioè come faccia a farlo senza collegarsi ad un server SMTP o qualcosa comunque che gli consenta l'invio. Ma, visto che lo fa (ogni tanto bisogna accontentarsi della "fede"), mi chiedevo se, addirittura, si poteva configurare qualcosa che fungesse anche da autorisponditore. Mi spiego meglio:

    - Attualmente cliccando sul tasto "invia" del form, io ricevo una mail con i dati inseriti nel form e con l'oggetto che riesco ad ottenere grazie al giochetto mostrato da Samyorn

    E' possibile fare in modo che le mail inviate siano 2, una a me con i dati inseriti nel form, ed una all'email inserita nel form con un testo preimpostato? Ovviamente recuperando in entrambi i casi gli oggetti personalizzati

    In questo modo la ricezione del link dove poter scaricare il contenuto gratuito sarebbe pressapoco immediata e non ci sarebbe bisogno di implementare un autorisponditore con le opportune regole.

    rafa

  13. #13
    Consiglio Direttivo L'avatar di Samyorn
    Data Registrazione
    Dec 2007
    Località
    Catania
    Messaggi
    6,000
    Segui Samyorn su Twitter Aggiungi Samyorn su Google+ Aggiungi Samyorn su Facebook Aggiungi Samyorn su Linkedin
    Citazione Originariamente Scritto da pinokkietto Visualizza Messaggio
    Pensavo di chiudere la discussione solo perchè non volevo andare troppo OT, ma se ritieni che cambiandole il titolo e posizionandola in una sezione più adeguata possa essere d'aiuto ad altri, fa pure.
    Riguardando la stessa elaborazione di dati troviamo più opportuno ed utile fare tutto nella stessa discussione.


    Citazione Originariamente Scritto da pinokkietto Visualizza Messaggio
    .. ad essere sinceri io non capisco come il modulo possa inviare una mail, cioè come faccia a farlo senza collegarsi ad un server SMTP o qualcosa comunque che gli consenta l'invio. Ma, visto che lo fa (ogni tanto bisogna accontentarsi della "fede"), mi chiedevo se, addirittura, si poteva configurare qualcosa che fungesse anche da autorisponditore.
    Nessun mistero della "fede", basta che guardì quì.

    Esistono ovviamente funzioni che utilizzano una connessione ad un server SMTP, e di certo sarebbe molto più idoneo, sicuro e, in molti casi, ti potrebbe evitare, o diminuire, la possibilità di finire in SPAM. Ma sono settaggi un po' più complessi. Puoi iniziare comunque a dare un'occhiata quì.


    Citazione Originariamente Scritto da pinokkietto Visualizza Messaggio
    E' possibile fare in modo che le mail inviate siano 2, una a me con i dati inseriti nel form, ed una all'email inserita nel form con un testo preimpostato? Ovviamente recuperando in entrambi i casi gli oggetti personalizzati
    Basta replicare la riga dove trovi la funzione mail() e sostituire la tua mail con quella ricevuta dal form che, nell'esempio precedente, è contenuta nella variabile $email.
    MODFunzioni di PHP Qui, Quo, Qua
    Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?

  14. #14
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89
    Sam mi piace che la fai così facile, perchè è evidente che mostri fiducia in me.. ma mi dispiace doverti deludere.

    Cioè, non ci ho neanche provato perchè credo che farei un casino, però sono convinto che inviare la seconda mail facendo quello che mi stai dicendo sia anche piuttosto facile. Ma implementare la seconda mail con un testo preimpostato mi sembra sia davvero qualcosa al limite del "malefico"..

    Quindi pensavo: non è che per caso potrebbe essere una strada migliore associare una seconda "action" al form facendo riferimento ad un secondo file inviamail.php, in modo da pote configurare i due file in maniera distinta e separata tra di loro??

    Capisco che potrebbe non essere la soluzione meglio ottimizzata, ma se fosse, tra le varie opzioni, quella più semplice da realizzare, io sarei contentissimo così.

    Rafa
    Ultima modifica di Samyorn; 25-01-12 alle 20:49 Motivo: Maiuscole a inizio frase e punteggiatura. ;)

  15. #15
    Consiglio Direttivo L'avatar di Samyorn
    Data Registrazione
    Dec 2007
    Località
    Catania
    Messaggi
    6,000
    Segui Samyorn su Twitter Aggiungi Samyorn su Google+ Aggiungi Samyorn su Facebook Aggiungi Samyorn su Linkedin
    Ciao Rafa,
    posta il contenuto del file inviamail.php, includendo tutto il codice tra i tag [php] (Questa iconcina che trovi nella modalità avanzata dell'editor)

    Vedrai che non c'è nulla di difficile, quindi abbi fiducia in te, più che in me, nel caso puoi sempre lavorare su una copia del file così se qualcosa va male hai sempre modo di ripristinare.
    MODFunzioni di PHP Qui, Quo, Qua
    Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?

  16. #16
    User
    Data Registrazione
    Dec 2011
    Località
    bologna
    Messaggi
    89
    Ok, ci provo

    Codice PHP:
    <?php
    $email
    =$_POST['email'];

    #######################################
    #     IMPOSTAZIONI DA CONFIGURARE     #
    #######################################

    //(1) indirizzo email del destinatario del modulo
    $destinatario "[email protected]";

    //(2) indirizzo email del mittente, campo FROM
    //    non toccare se desiderate che l'indirizzo email inserito nel modulo sia
    //    riportato nel campo DA del messaggio che sarà ricevuto.
    //    Se invece desiderate un campo fisso annullare la prima riga e abilitare
    //    la seconda inserendo la dicitura desiderata (per annullare mettere //
    //    all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
    $nome_mittente "$email";
    // $nome_mittente = "Dal Modulo";

    //(3) oggetto del messaggio;
    $object="";
    $object=$_POST['object'];
    switch (
    $object){
       case 
    1:
          
    $object_mail="Oggetto mail prodotto 1";
          
    $link="vvv.nomesito.ext/indirizzoprodotto1";
          break;
       case 
    2:
          
    $object_mail="Oggetto mail prodotto 2";
          
    $link="vvv.nomesito.ext/indirizzoprodotto2";
          break;  
       case 
    3:
          
    $object_mail="Oggetto mail prodotto 3";
          
    $link="vvv.nomesito.ext/indirizzoprodotto3";
          break;

    }




    $all_free "n";


    $campi_req = array("nome","email","citta","prov");


    $obbligo_email "y";


    $accetta_condizioni "y";

    //(8) URL della pagina di ringraziamento
    $pagina_grazie "vvv.dominio.ext/contenuti/ty_page.html";

    //(9) URL della pagina errore campi vuoti
    $pagina_error_empty "vvv.dominio.ext/contenuti/err_page.html";

    //(10) URL della pagina errore email
    $pagina_error_email "vvv.dominio.ext/contenuti/err_page.html";

    //(11) URL della pagina errore condizioni non accettate
    $pagina_error_condizioni "vvv.dominio.ext/contenuti/err_page.html";

    //(12) URL della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer "vvv.dominio.ext/contenuti/err_page.html";

    #######################################
    #  FINE IMPOSTAZIONI DA CONFIGURARE   #
    #######################################

    //ora e data
    $ora date ("H:i:s"); 
    $data date ("d/m/Y");

    //intestazione email che arriva al destinatario
    $corpo "
    Modulo inviato il 
    $data alle ore $ora
    Riepilogo dati:\n\n"
    ;


    ########### CODICI ###########

    //variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER$HTTP_SERVER_VARS))){  
    $_POST = &$HTTP_POST_VARS
    }

    //prende IP ADDRESS
    if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
        
        if (
    $_SERVER["HTTP_X_FORWARDED_FOR"] == "") {

    $ipnumb getenv("REMOTE_ADDR");

            }else {

    $ipnumb getenv("HTTP_X_FORWARDED_FOR");

                }

            } else {

    $ipnumb getenv("REMOTE_ADDR");
            }
    ###################################

    //controllo referer
    if(empty($_SERVER["HTTP_REFERER"])){

        
    header ("Location: $pagina_error_referer");
        exit();
        
        }

    ########### CONTROLLO DEI CAMPI ###########
    $control_campi 0;

    if(
    $all_free != "y"){

        foreach(
    $_POST as $key => $valore){

            if(
    in_array($key,$campi_req)){

                if(
    trim($valore) == ""){

                
    $control_campi++;
                
                                        } 

                                    }

                                }

                            } else {

                
    $control_campi 0;    

                                    }                    

    ########### CONTROLLO EMAIL ###########
    $control_email 0;

    if(
    $obbligo_email == "y"){

        if(isset(
    $_POST['email'])){

            if(!
    eregi("^([a-zA-Z0-9_.-])[email protected](([a-zA-Z0-9_-])+.)+[a-z]{2,6}$"$_POST['email'])){

            
    $control_email++;

                                }

                            } else {

            
    $control_email 0;

                                }

                            }

    ########### CONTROLLO CONDIZIONI ###########
    $control_condizioni 0;

    if(
    $accetta_condizioni == "y"){

        if(isset(
    $_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){

            
    $control_condizioni 0;

                } else {

            
    $control_condizioni ++;

                }

            }

    ########### INVIO EMAIL ###########
    if($control_campi == 0){

            if(
    $control_email == 0){

                if(
    $control_condizioni == 0){

    foreach(
    $_POST as $key => $valore){

    $key ucfirst(stripslashes(trim($key)));
    $valore stripslashes(trim($valore));
    $key str_replace("_"," ",$key);

                if(
    trim($valore) == ""$valore "Non compilato";
                
                    
    $corpo .= $key .": "$valore ."\n\n";

                }
                
                    
    $corpo .= "Numero IP: $ipnumb"."\n";

    $corpo .= "____________________________________________________________ \n\n

    "
    ;

        
    // invio e-mail
    // Header Mail
    $headmail.="From: $nome_mittente <$nome_mittente>\n";
    $headmail.="Return-Path: $nome_mittente\n";
    $headmail.="User-Agent: Php Mail Function\n";
    $headmail.="X-Accept-Language: en-us, en\n";
    $headmail.="MIME-Version: 1.0\n";
    $headmail.="X-Priority: 1 (Highest)\n";
    $headmail.="Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n";
    $headmail.="Content-Transfer-Encoding: 7bit\n";

    ini_set('sendmail_from'"$destinatario");
    mail("$destinatario""$object_mail""$corpo""$headmail");

                    
    header ("Location: $pagina_grazie");

                                    } else {

                    
    header ("Location: $pagina_error_condizioni");

                                }

                            } else {

                    
    header ("Location: $pagina_error_email");

                            }

                        } else {

                        
                    
    header ("Location: $pagina_error_empty");

                        }

    ?>
    questo è tutto il file.

    Sam dovrai darmi modo di sdebitarmi, in un modo o nell'altro

    rafa
    Ultima modifica di Samyorn; 26-01-12 alle 21:02 Motivo: Tolti riferimenti al dominio. ;)

  17. #17
    Consiglio Direttivo L'avatar di Samyorn
    Data Registrazione
    Dec 2007
    Località
    Catania
    Messaggi
    6,000
    Segui Samyorn su Twitter Aggiungi Samyorn su Google+ Aggiungi Samyorn su Facebook Aggiungi Samyorn su Linkedin
    Allora, vediamo un po'.
    Questa è la riga 217 del file, quella che contiene la funzione mail():
    Codice PHP:
    mail("$destinatario""$object_mail""$corpo""$headmail"); 
    I parametri inseriti tra parentesi non sono altro che, in ordine:

    • e-mail del destinatario (in questo caso $destinatario contiene la tua mail)
    • Oggetto della Mail
    • Testo della mail
    • Header della mail

    Se tu vuoi mandare una mail anche a chi compila il modulo non devi far altro che copiare, intanto, la riga subito dopo questa, cambiare l'e-mail del destinatario, ovvero quella inserita nel form che in questo file è contenuta nella variabile $email. Fatto questo variare il testo della mail che sicuramente sarà diverso dalla mail che giunge a te.
    Per il corpo della mail, anche per avere una maggiore leggibilità del codice, puoi utilizzare il seguente metodo (questa parte va inserita tra le due righe contenenti le funzioni mail() ):
    Codice PHP:
    $corpo="Salve ".$nome.",\n"// \n serve ad andare a capo
    $corpo.="blablablablablablabla.\n"// attenzione al .= serve a aggiungere a seguire il resto del testo
    $corpo.="Puoi scaricare l'e-book da <a href=\"".$link."\" title=\"Clicca per scaricare\">questo link</a>.\n"
    Altra cosa:
    Codice PHP:
    $nome_mittente "$email"
    Sostituisci $email con il nome che vuoi che appaia nel mittente (sempre tra virgolette) e poi:
    Codice PHP:
    $headmail.="From: $nome_mittente <$nome_mittente>\n";
    $headmail.="Return-Path: $nome_mittente\n"
    Trasformalo in:
    Codice PHP:
    $headmail.="From: ".$destinatario." <".$nome_mittente.">\n";
    $headmail.="Return-Path: ".$destinatario."\n"
    Vediamo se con queste modifiche che ti ho scritto va.
    MODFunzioni di PHP Qui, Quo, Qua
    Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.