![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#2 (permalink) | |
|
Non iscritto
Messaggi: n/a
|
Re: Modulo email
Quote:
ci sono diversi script gratuiti, dipende dalle tue esigenze. io ne ho uno in php, personalizzabile, ad esempio. | |
|
|
|
#4 (permalink) | |
|
Non iscritto
Messaggi: n/a
|
Quote:
però se stai parlando di commercio elettronico la cosa si complica ![]() | |
|
|
|
#6 (permalink) | |
|
Non iscritto
Messaggi: n/a
|
Quote:
io uso questo, da salvare come formInvio.php o come vuoi: Codice:
<?
##############################
if (!ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
}
##############################
/*
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 = "7";
// 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.danieleimperi.it/";
// Il parametro $provenienza indica le possibili provenienze dei dati: indicare
// il proprio dominio nella forma mostrata dall'esempio
$provenienza = array ('danieleimperi.it','www.danieleimperi.it','151.1.32.232');
// 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', 'nomechetipare@dominio.com', 'altro@dominio.com');
//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='Verdana, Arial' color='#000000' size='2'>Il modulo non è
stato inviato per le seguenti ragioni</font></p>
<p align='center'><font face='Verdana, Arial' size='2' color='#000000'>
<?
echo $reason."\n";
?>
</font>
<p align='center'><font face='Verdana, 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 "
\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 indirizzo email escluso.");
}
}
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 dominio non autorizzato.");
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 = "#0066cc";
if (!$vlink_color)
$vlink_color = "#0066cc";
if (!$alink_color)
$alink_color = "#cc3300";
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[$i]);
if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}$", $contenitore_to_test)) {
print_error("Occorre un indirizzo email valido per continuare ($contenitore_to_test) ");
}
}
if ($required)
$require = $required;
if ($require) {
$require = ereg_replace( " +", "", $require);
$required = split(",",$require);
for ($i=0;$i<count($required);$i++) {
$string = trim($required[$i]);
if((!(${$string})) || (!(${$string}))) {
if ($missing_fields_redirect) {
header ("Location: $missing_fields_redirect");
exit;
}
$require;
$missing_field_list .= "Non trovato: $required[$i]
\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 indirizzo email 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[$i]);
if ($splitta_Dati[$i] == "REMOTE_HOST")
$content .= "REMOTE HOST: ".$REMOTE_HOST."\n";
else if ($splitta_Dati[$i] == "REMOTE_USER")
$content .= "REMOTE USER: ". $REMOTE_USER."\n";
else if ($splitta_Dati[$i] == "REMOTE_ADDR")
$content .= "REMOTE ADDR: ". $REMOTE_ADDR."\n";
else if ($splitta_Dati[$i] == "HTTP_USER_AGENT")
$content .= "BROWSER: ". $HTTP_USER_AGENT."\n";
}
}
if (!$titolo)
$titolo = "DanieleImperi.it - Contatti dal sito";
mail_it(stripslashes($content), stripslashes($titolo), $email, $contenitore);
if ($redirect) {
header ("Location: $redirect");
exit;
} else {
print "<body background='img/bg3.gif' bgcolor='#ffffff' style='margin:20'>
<table width='70%' height='247' align='center' cellpadding='10' cellspacing='0' bgcolor='#FFFFFF'>
<tr>
<td valign='top'>
<table width='100%' height='247' border='1' bordercolor='#cccccc' bgcolor='#FFFFFF' cellpadding='4' cellspacing='0'>
<tr>
<td><div align='center'><font face='Verdana, Arial, Helvetica, sans-serif'>
Grazie per avermi contattato!</font></div>
<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif'>Sarete
contattati
appena possibile all'indirizzo da voi inserito
$email</font></div>
<div align='center'>
<font color='#999999' size='2' face='Verdana, Arial, Helvetica, sans-serif'>...Ritorno
automatico alla Home page in corso.... </font></div></td>
<meta http-equiv='refresh' content='$delay; url=$url'>
</tr>
</table>
</td>
</tr>
</table>
</body>
";
echo "
\n";
exit;
}
// <---------- fine ----------> //
?>
![]() è semplice da personalizzare. Sostituisci i miei dati con i tuoi. nella pagina dei contatti: Codice:
<form method="post" action="formInvio.php"> <input type="hidden" name="require" value="email,nome_e_cognome"> <input type="hidden" name="contenitore" value="info@danieleimperi.it"> <input type="hidden" name="invia_Dati" value="REMOTE_HOST,HTTP_USER_AGENT"> </form> | |
|
|
|
#8 (permalink) |
|
Moderatore
|
Ciao benvenuto
![]() Ottima la soluzione di Ludus ![]() comnque per fare una cosa proprio semplice: salva questo codice in una pagina chiamata mail.php (o un altro nome da te scelto, l'importante poi è cambiare nell'altro codice il nome) Codice:
<?php
// ************Inizio Configurazione***************
//Indirizzo emai a cui inviare i msg
$mailto = "TUO_INDIRIZZO";
//Oggetto della mail
$subject = "OGGETTO DELLA MAIL";
//Pagina da mostrare dopo l'invio
$redirect = "URL_PAGINA";
// ************Fine Configurazione****************
foreach($HTTP_POST_VARS as $key => $value) {
$message .= $key . ': ' . $value;
$message .= "\n";
}
if (@mail($mailto, $subject, $message)) {
header("Location: $redirect");
} else {
// Messaggio in caso di errore
echo('
Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>');
}
?>
Codice:
<form name="form1" id="form1" method="post" action="mail.php"> Nome</p> <input type="text" name="nome" /> </p> Cognome</p> <input type="text" name="cognome" /> </p> Email</p> <input type="text" name="email" /> </p> Contenuto</p> <textarea name="contenuto" cols="50" rows="10"></textarea> </p> <input name="Invia" type="submit" value="Invia" /> </p> </form> Sposto la discussione in php, che è la sezione più adatta ![]() |
|
|
|
|
|
#10 (permalink) |
|
Data di registrazione: Aug 2006
Messaggi: 241
|
Scusate l'ignoranza non conosco assolutamente niente di php, ma volevo provare questi moduli, li ho copiati e salvati in php li ho pubblicati ma mi appare una pagina bianca dove sbaglio ?
Il codice in quale sezione va inserito ? Aprendo una nuova pag. nel FrontPage 2003 nella sezione codice mi appare questo: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Nuova pagina 1</title> </head> <body> </body> </html> ------------------------------------------ Tra <body> e <body> forse ? |
|
|
|
|
|
#14 (permalink) |
|
User
Data di registrazione: Aug 2006
Messaggi: 24
|
claudio ho fatto così:
<?php // ************Inizio Configurazione*************** //Indirizzo emai a cui inviare i msg $mailto = brice_durand@hotmail.it; //Oggetto della mail $subject = "servizi"; //Pagina da mostrare dopo l'invio $redirect = "www.paolo-isabella.com"; // ************Fine Configurazione**************** foreach($HTTP_POST_VARS as $key => $value) { $message .= $key . ': ' . $value; $message .= "\n"; } if (@mail($mailto, $subject, $message)) { header("Location: $redirect"); } else { // Messaggio in caso di errore echo(' Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>'); } ?> la pagina la visualizza dopo l'invio ma non mi arriva l'email... quale potrebbe essere il problema? grazie |
|
|
|