Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    ERRORE ricezione email inviata da form da sito!

    Salve, ho un problema che penso sia risolvibile per voi, ma a me sta facendo vedere i sorci verdi!!!

    Ho creato un sito (personale) della mia agenzia immobiliare, e nella pagina dei contatti ho creato un form per l'invio di richieste sui relativi immobili...

    Questo è il form tipo:

    codice:
                <html>
                <title>Contatto diretto</title>
                <head>
                <link rel="shortcut icon" href="favicon.ico" />
                <link href="CSS/style.css" rel="stylesheet" type="text/css">
        <script>
    		   		  function googleTranslateElementInit() {
    		   		    new google.translate.TranslateElement({
    		   		      pageLanguage: 'it'
    		   		    }, 'google_translate_element');
    		   		  }
    </script><script src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
               </head>
                <body>
    <table border="0" width="385" cellspacing="0" cellpadding="0">
      <tr>
        <td width="100%"><div align="center"><center><table border="0" width="100%">
          <tr>
            <td align="left" valign="top" rowspan="2" width="90%" bgcolor="#F0F0F0">
            <form name="modulo" method="post" action="c_inviamail.php" style="width: 370px; border: 3px solid orange;">
    
    
    <div align="center">
                <table border="0">
                  <tr>
                    
    <td colspan="3"><font face="Verdana">* dato obbligatorio</font></td>
                  </tr>
                  <tr>
                    <td align="left"><font face="Verdana">* Nome Cognome:</font></td>
                    <td><input type="text" name="nome" size="25"></td>
                  </tr>
                  <tr>
                    <td align="left"><font face="Verdana">* E-Mail:</font></td>
                    <td><input type="text" name="email" size="25"></td>
                  </tr>
                  <tr>
                    <td align="left"><font face="Verdana">Telefono:</font></td>
                    <td><input type="text" name="telefono" size="25"></td>
                  </tr>
                  <tr>
                    <td align="left"><font face="Verdana" color="#000000">* Codice Riferimento
    Immobile:</font></td>
                    <td><input type="text" name="cod riferimento" size="2" value="1234"></td>
                  </tr>
                </table>
                <table border="0">
                
    
    <tr>
                  <td align="center"><font face="Verdana">Messaggio:
    
                  <textarea name="messaggio" rows="6" cols="40"></textarea> </font></td>
                </tr>
                <tr>
                  <td align="center">
                    
    
                    <font face="Verdana" size="2">Accetti le <a href="trattamento_dati.htm" target="blank">condizioni
    sul trattamento dei dati personali?</a>
    
                    SI <input type="radio" name="trattamento_dati" value="accetto" checked> 
    				NO <input type="radio" name="trattamento_dati" value="non_accetto"></font></td>
                </tr>
              </table>
              </div>
    <font color="#000000" face="Arial">
    <center><input type="submit" value="Invia"><input type="reset" value="Cancella"></center>
                        </font></p>
            </form>
            <center><a href="javascript: self.close ()">[img]images/chiudi.png[/img]</center>
            </td>
          </tr>
        </table>
        </center></div></td>
      </tr>
    </table>
    			</body>
    			</html>
    che si appoggia al file inviamail.php che è questo:


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

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

    //(1) indirizzo email del destinatario del modulo
    $destinatario "email@sito.org";

    //(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
    $oggetto_email "URGENTE!! Messaggio inviato dal sito mediafin.org";

    //(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
    //    (valori possibili: "y" e "n")
    $all_free "n";

    //(5) se avete messo "n" al punto (4) inserire tra virgolette, separati
    //    da virgola, i nomi dei campi da rendere OBBLIGATORI
    //    Esempio: $campi_req = array("nome","telefono","via");
    $campi_req = array("nome",);

    //(6) controllo validità del campo email. (valori possibili: "y" e "n")
    $obbligo_email "y";

    //(7) obbligare l'utente ad accettare le condizioni.
    //    (valori possibili: "y" e "n")
    $accetta_condizioni "n";

    //(8) URL della pagina di ringraziamento
    $pagina_grazie "http://www.sito.org/grazie.htm";

    //(9) URL della pagina errore campi vuoti
    $pagina_error_empty "http://www.sito.org/errore_campi.htm";

    //(10) URL della pagina errore email
    $pagina_error_email "http://www.sito.org/errore_email.htm";

    //(11) URL della pagina errore condizioni non accettate
    $pagina_error_condizioni "http://www.tuo_sito.tld/errore_condizioni.htm";

    //(12) URL della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer "http://www.aa.tld/errore_referer.htm";

    #######################################
    #  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"
    ;

    //============== NON TOCCARE NULLA OLTRE QUESTA RIGA ==================\


    ########### 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_.-])+@(([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""$oggetto_email""$corpo""$headmail");

                    
    header ("Location: $pagina_grazie");

                                    } else {

                    
    header ("Location: $pagina_error_condizioni");

                                }

                            } else {

                    
    header ("Location: $pagina_error_email");

                            }

                        } else {


                    
    header ("Location: $pagina_error_empty");

                        }

    ?>
    Il problema è che se io volessi rendere il campo "codice riferimento" disabilitato, in questo modo:

    codice:
     <td align="left"><font face="Verdana" color="#000000">* Codice Riferimento
    Immobile:</font></td>
                    <td><input type="text" name="cod riferimento" size="2" disabled="disabled" value="1234"></td>
    nella email che ricevo NON MI ARRIVA IL RIGO CON IL CODICE RIFERIMENTO!!! Mi arriva tutto il resto tranne che la stringa con il codice riferimento!!

    COSA FARE? COME FARLO?

    Chiedo aiuto..grazie mille a tutti!

  2. #2
    Potresti fare un campo "doppione" per il riferimento e metterlo di type=hidden ... ?
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  3. #3
    non capisco ...in che senso? devo mettere questo attributo (type="hidden") al rigo del "codice riferimento"?
    che significa campo doppione?
    mi puoi fare un esempio?

  4. #4
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    <td align="left"><font face="Verdana" color="#000000">* Codice Riferimento
    Immobile:
    </font>
    </td>
    <td><input type="hidden" name="cod riferimento" size="2" value="1234"></td>

    Così l'utente non lo vede ma c'è e ti arriva per mail!
    PS: Non usare id con spazi "cod riferimento" piuttosto fai "cod_riferimento"

  5. #5
    Originariamente inviato da alessioflirt
    devo mettere questo attributo (type="hidden") al rigo del "codice riferimento"?
    Un form è un form... non c'è bisogno di conoscere il php...
    Copi il codice del tuo campo INPUT relativo a cod. di rif.
    La incolli prima che finisca il form.
    Cambi il type come hai scritto anche tu e togli il disabled etc...
    Un camp hidden non si vede, però il valore che ha viene comunque inviato.
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  6. #6
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    E se prorprio vogliamo fare le cose fatte bene ti darei altri due consigli:
    1. Non è per nulla ottimizzato dire per ogni riga <font face="Verdana"> ecc. mettilo nel body o meglio ancora fai un foglio di stile (CSS)

    2. Per il radio button "trattamento_dati" devi mettere CHECKED di default il NO, altrimenti qualche buon tempone, con qualche stratagemma potrebbe farti arrivare una valanga di mail e poi non è corretto mettere di default il SI perchè anche legalmente parlando, è l'utente che deve mostrare la sua volontà nell'accettare il trattamento dei dati.

  7. #7
    Un camp hidden non si vede, però il valore che ha viene comunque inviato.
    il fatto è che io VOGLIO che il campo sia visibile dall'utente...il sito è di un'agenzia immobiliare ed ogni appartamento ha il suo codice...

    però vorrei ottenere l'effetto "disabled" con l'opportunità di ricevere il codice nella mail...

  8. #8
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Allora come ha detto Ricman lo duplichi.

    Codice Riferimento<input type="text" name="cod_rif1" disabled="disabled" value="1234">
    <input type="hidden" name="cod_rif2" value="1234">

    Il primo l'utente lo vede però è disabled e non ti arriva per mail.
    Il secondo l'utente non lo vede ma ti arriva per mail.
    Entrambi hanno lo stesso valore!

    Questo è html di base!!

  9. #9
    uffaa.....avete ragione tutti, ragazzi!!! come ho fatto a non pensarci prima?!?
    l'ammetto...è da pochissimo che mi cimento con l'html e il php...
    ma sapete quando cercate disperatamente una soluzione e l'avete sotto il naso dall'inizio?

    GRAZIE A TUTTIIIIIIIII DAVVERO!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.