• Super User

    Formmail da provider

    Salve ragazzi, stavo provando ad includere un formmail in un cms...
    Lo script è formato da una pagina html e un file php, ora volendo sfruttare la grafica del cms, ho editato il form html a mio piacimento, e l'ho incollato in un contenuto del cms, ma al momento dell'invio, ricevo il warning dal file php, che dice questo:

    [CENTER]Il modulo non è stato inviato per le seguenti ragioni
    
          Occorre un indirizzo email valido per continuare (  Indirizzo e-mail protetto dal bots spam)             
    Premere indietro nel browser e riprovare.[/CENTER]
    
    ```Quindi ho provato a incollare il codice in modalità wrap, e funziona, solo che , avendo indicato nel file php, la pagina a cui redirigere dopo l'invio, e cioè, la home del sito, tutto ciò viene mostrato nel wrap, e quindi non va bene...
    
    Come potrei risolvere, usando la prima ipotesi ?
    Grazie.

  • User Attivo

    Puoi postare il coice per cortesia!


  • Super User

    Se lo uso esternamente funziona, nel senso, se metto file.html e file.php nella root o in una qualsiasi directory, e richiamo la pagina html, funziona senza problemi...
    il mio problema è che vorrei sfruttare la grafica del cms, quindi incollando il codice html in un contenuto.
    Grazie.

    **HTML
    **```

    <html>
    <head>
    <title></title>
    </head>
    <body>
    <form method="post"
    action="formInvio.php">
    <input type="hidden" name="require" value="email,nome">
    <input type="hidden" name="contenitore" value="[email protected]">
    <input type="hidden" name="invia_Dati" value="REMOTE_HOST,HTTP_USER_AGENT">
    <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0" width="82%" bgcolor="#FFFFFF">
    <tr>
    <td width="100%">
    <p align="center"> </td>
    </tr>
    </table>
    </center>
    </div>
    <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0" width="82%" bgcolor="#FFFFFF">
    <tr>
    <td width="100%">
    <p align="center"> </p>
    <div align="center">
    <table border="0" cellpadding="0" width="60%" style="border-collapse: collapse">
    <tr>
    <td width="22%" valign="top" align="center" bgcolor="#C0C0C0">
    <font face="Arial" size="2">Azienda o Privato:</font></td>
    <td width="78%" bgcolor="#C0C0C0">
    <p align="center">
     <select size="1" name="Azienda o Privato">
    <option>Azienda</option>
    <option>Privato</option>
    <option selected>seleziona</option>
    </select>
    <p align="center"> 
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top" align="center">
    <i><font face="Arial" size="2">E-Mail:</font></i></td>
    <td width="78%">
    <p align="center"><font face="Arial" size="3" color="#993300">
    <input type="text" name="email" size="20" style="border:1px solid #000000; ">
    </font>
    <p><font face="Arial" size="3" color="#993300"> </font>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top" bgcolor="#C0C0C0">
    <p align="center"><i>
    <font face="Arial" size="2">Nome Azienda:</font></i></td>
    <td width="78%" bgcolor="#C0C0C0">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="Azienda" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Nome e Cognome:</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="nome" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Via e numero civico:</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="Via e numero" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Città e (Provincia):</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="Citta e provincia" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Cap:</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="Cap" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Telefono:</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="Telefono" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Partita IVA,o codice
    fiscale se Privato:</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="P.I/C.F" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top" align="center">
    <font face="Arial" size="2">Come ci hai
    conosciuto:</font></td>
    <td width="78%">
    <p align="center">
     <select size="1" name="Come ci hai conosciuto">
    <option>Motori di ricerca</option>
    <option>Link pubblicitario</option>
    <option>Amici</option>
    <option selected>seleziona</option>
    </select>
    <p align="center"> 
    </td>
    </tr>
    <tr>
    <td width="100%" valign="top" colspan="2">
    <p align="center"><b>Richiesta Preventivo Per :</b></p>
    <p align="center">Per essere sicuri di ricevere il preventivo
    per il giusto oggetto di tuo interesse, inserisci il link del
    prodotto, che puoi copiare dal catalogo, nel sito web.</p>
    <p align="center"> </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Link Prodotto:</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="Link prodotto" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Quantità:</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="Quantita" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top">
    <p align="center"><i>
    <font face="Arial" size="2">Colore:</font></i></td>
    <td width="78%">
    <p align="center">
    <font face="Arial" size="3" color="#993300">
    <input type="text" name="Colore" size="20" style="border:1px solid; "></font></p>
    <p align="center"> </p>
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top" align="center">
    <font size="2">
    <span style="font-family: Arial; font-style: italic">Confezione
    regalo inclusa per singolo oggetto:</span></font></td>
    <td width="78%">
    <p align="center">
     <select size="1" name="Confezione regalo">
    <option>Si</option>
    <option>No</option>
    <option selected>seleziona</option>
    </select>
    <p align="center"> 
    </td>
    </tr>
    <tr>
    <td width="22%" valign="top" align="center">
    <font face="Arial" size="2">Note:</font></td>
    <td width="78%">
    <p align="center">
    <textarea rows="7" name="messaggio" cols="31" style="border:1px solid; "></textarea></p>
     
    </td>
    </tr>
    </table>
    </div>
    <br />
    <p align="center"><input type="submit"><input type="reset"></form></p>
    <p align="center"> </td>
    </tr>
    </table>
    </center>
    </div>
    </html>

    
    **PHP
    
    **```
    <?
    /*
    formail completo, è possibile aggiungere qualunque campo
    è sufficiente inserire le due pagine in un punto qualunque
    del proprio dominio.
    by linkbruttocane
    */
    
    //INIZIO PARAMETRI DA SETTARE OBBLIGATORIAMENTE
    /****************************************************************************************/
    // Il parametro $delay indica i secondi di ritardo impiegati 
    // a riportare l'utente all'home page dopo che abbia 
    // compilato correttamente il modulo
    
    $delay = "5";
    
    // Il parametro $url indica la pagina alla quale si viene
    // rimandati una volta compilato correttamente il modulo
    // io ho messo una homepage, ma potrebbe essere qualunque altra pagina
    
    $url = "http://www.miosito.com";
    
    // Il parametro $provenienza indica le possibili provenienze dei dati: indicare
    // il proprio dominio nella forma mostrata dall'esempio
    
    $provenienza = array ('miosito.com','www.miosito.com','mioip');
    
    // Il parametro $esclusioni vi permette di NON consentire 
    // messaggi da un indirizzo mail specificato
    // sia appartenente ad un dominio, ovvero 
    // 'tutte le mail che appartengono ad un dominio'
    // od anche a singoli account
    
    $esclusioni = array ('*@quellochetipare.com', '[email protected]', '[email protected]');
    
    
    //FINE PARAMETRI DA SETTARE OBBLIGATORIAMENTE
    /****************************************************************************************/
    
    
    
    $versione_form = "stabile";
    
    function print_error($reason,$type = 0) {
       global $versione_form;
       build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet);
          if ($type == "missing") {
          ?>
          <body bgcolor='#ffffff'>
          <p align='center'><font face='Arial' color='#000000' size='2'>Il modulo non è
    stato inviato per le seguenti ragioni</font></p><br>
    <p align='center'><font face='Arial' size='2' color='#000000'>
         <?
         echo $reason."\n";
         ?>
         </font>
         <p align='center'><font face='Arial' size='2' color='#000000'>Premere indietro
    nel browser e riprovare.</font></p><?
       } else { // every other error
          ?>
          Il modulo non è stato inviato per le seguenti ragioni:<p align='center'>
          <?
       }
       echo "<br><br>\n";
      
       exit;
    }
    
    
    function check_banlist($esclusioni, $email) {
       if (count($esclusioni)) {
          $allow = true;
          foreach($esclusioni as $banned) {
             $temp = explode("@", $banned);
             if ($temp[0] == "*") {
                $temp2 = explode("@", $email);
                if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1])))
                   $allow = false;
             } else {
                if (trim(strtolower($email)) == trim(strtolower($banned)))
                   $allow = false;
             }
          }
       }
       if (!$allow) {
          print_error("Stai usando un <b>indirizzo email escluso.</b>");
       }
    }
    
    
    function check_referer($provenienza) {
       if (count($provenienza)) {
          $found = false;
          $temp = explode("/",getenv("HTTP_REFERER"));
          $referer = $temp[2];
          for ($x=0; $x < count($provenienza); $x++) {
             if (eregi ($provenienza[$x], $referer)) {
                $found = true;
             }
          }
          if (!getenv("HTTP_REFERER"))
             $found = false;
          if (!$found){
             print_error("Provieni da un <b>dominio non autorizzato.</b>");
             error_log("[FormMail.php] Illegal Referer. (".getenv("HTTP_REFERER").")", 0);
          }
             return $found;
          } else {
             return true; // 
       }
    }
    if ($provenienza)
       check_referer($provenienza);
    
    if ($esclusioni)
       check_banlist($esclusioni, $email);
    
    
    function parse_form($array) {
       // build reserved keyword array
       $reserved_keys[] = "required";
       $reserved_keys[] = "redirect";
       $reserved_keys[] = "email";
       $reserved_keys[] = "require";
       $reserved_keys[] = "contenitore";
       $reserved_keys[] = "titolo";
       $reserved_keys[] = "bgcolor";
       $reserved_keys[] = "text_color";
       $reserved_keys[] = "link_color";
       $reserved_keys[] = "vlink_color";
       $reserved_keys[] = "alink_color";
       $reserved_keys[] = "title";
       $reserved_keys[] = "missing_fields_redirect";
       $reserved_keys[] = "invia_Dati";
       if (count($array)) {
          while (list($key, $val) = each($array)) {
           
             $reserved_violation = 0;
             for ($ri=0; $ri<count($reserved_keys); $ri++) {
                if ($key == $reserved_keys[$ri]) {
                   $reserved_violation = 1;
                }
             }
          
             if ($reserved_violation != 1) {
                if (is_array($val)) {
                   for ($z=0;$z<count($val);$z++) {
                      $content .= "$key: $val[$z]\n";
                   }
                } else {
                   $content .= "$key: $val\n";
                }
             }
          }
       }
       return $content;
    }
    
    
    function mail_it($content, $titolo, $email, $contenitore) {
            mail($contenitore, $titolo, $content, "From: $email\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
    }
    
    
    function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet) {
       if ($style_sheet)
          echo "<LINK rel=STYLESHEET href=\"$style_sheet\" Type=\"text/css\">\n";
       if ($title)
          echo "<title>$title</title>\n";
       if (!$bgcolor)
          $bgcolor = "#ffffff";
       if (!$text_color)
          $text_color = "#80000";
       if (!$link_color)
          $link_color = "#0000FF";
       if (!$vlink_color)
          $vlink_color = "#FF0000";
       if (!$alink_color)
          $alink_color = "#000088";
       if ($background)
          $background = "background=\"$background\"";
       echo "<body bgcolor=\"$bgcolor\" text=\"$text_color\" link=\"$link_color\" vlink=\"$vlink_color\" alink=\"$alink_color\" $background>\n\n";
    }
    
    $contenitore_finale = split(',',$contenitore);
    for ($i=0;$i<count($contenitore_finale);$i++) {
       $contenitore_to_test = trim($contenitore_finale*);
       if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}$", $contenitore_to_test)) {
          print_error("<b>Occorre un indirizzo email valido per continuare ($contenitore_to_test) </b>");
       }
    }
    
    
    if ($required)
       $require = $required;
    
    if ($require) {
      
       $require = ereg_replace( " +", "", $require);
       $required = split(",",$require);
       for ($i=0;$i<count($required);$i++) {
          $string = trim($required*);
       
          if((!(${$string})) || (!(${$string}))) {
           
             if ($missing_fields_redirect) {
                header ("Location: $missing_fields_redirect");
                exit;
             }
             $require;
             $missing_field_list .= "<b>Non trovato: $required*</b><br>\n";
          }
       }
       
       if ($missing_field_list)
          print_error($missing_field_list,"missing");
    }
    
    
    if (($email) || ($EMAIL)) {
       $email = trim($email);
       if ($EMAIL)
          $email = trim($EMAIL);
       if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $email)) {
          print_error("il suo <b>indirizzo email</b> non è valido");
       }
       $EMAIL = $email;
    }
    
    
    
    
    
    
    $content = parse_form($HTTP_POST_VARS);
    
    
    
    
    if ($invia_Dati) {
       $invia_Dati = ereg_replace( " +", "", $invia_Dati);
       $splitta_Dati = split(",",$invia_Dati);
       $content .= "\n------ variabili utente ------\n";
       for ($i=0;$i<count($splitta_Dati);$i++) {
          $string = trim($splitta_Dati*);
          if ($splitta_Dati* == "REMOTE_HOST")
             $content .= "REMOTE HOST: ".$REMOTE_HOST."\n";
          else if ($splitta_Dati* == "REMOTE_USER")
             $content .= "REMOTE USER: ". $REMOTE_USER."\n";
          else if ($splitta_Dati* == "REMOTE_ADDR")
             $content .= "REMOTE ADDR: ". $REMOTE_ADDR."\n";
          else if ($splitta_Dati* == "HTTP_USER_AGENT")
             $content .= "BROWSER: ". $HTTP_USER_AGENT."\n";
       }
    }
    
    
    if (!$titolo)
       $titolo = "Modulo dal sito";
    
    mail_it(stripslashes($content), stripslashes($titolo), $email, $contenitore);
    
    
    if ($redirect) {
       header ("Location: $redirect");
       exit;
    } else {
       print "<body bgcolor='#ffffff'>
    
    <p align='center'><font face='Arial' size='2' color='#000000'>Grazie per averci
    contattato.</font></p><p align='center'><font face='Arial' size='2' color='#000000'>Riceverete
    risposta all'indirizzo da voi indicato $email<br><br>...Ritorno automatico alla Home page in corso....</font></p><meta http-equiv='refresh' content='$delay; url=$url'>
    
    <p align='center'>&nbsp;</p>
    
    </body>
    ";
       echo "<br><br>\n";
       
       exit;
    }
    
    // <----------   fine    ----------> //  
    ?>
    

  • User Newbie

    io cerco di capire come si possa inserire unatext area come questa nel mio sito