- Home
- Categorie
- Coding e Sistemistica
- PHP
- Formmail da provider
-
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.
-
Puoi postare il coice per cortesia!
-
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'> </p> </body> "; echo "<br><br>\n"; exit; } // <---------- fine ----------> // ?>
-
io cerco di capire come si possa inserire unatext area come questa nel mio sito