Buongiorno a tutti e grazie anticipatamente a chi mi verrà in aiuto:
sono un autodidatta a livello più che basico che fino ad ora ha realizzato qualche sempli pagina html per amici o associazioni no profit.
ora mi si pone il problema di inserire in un sito di un amico un form mail per l'invio di posta.
Essendo neofita e cliente Aruba ho scaricato il modulo precompilato presente sul sito di Aruba e lo adattato alle mie esigenze.
Il tutto è comnposto da due pagine: una html che contiene il form da compilare, l'altra in php da che materialmente invia la mail.
I campi sono: NOME, COGNOME, MAIL MITTENTE, TELEFONO MITTENTE e IL TESTO DEL MESSAGGIO + DUE SPUNTE sulla normativa per la privacy che inserirò.
Funziona!
ma avrei bisgno che nella mai che mi arriva ci fosse anche l'indirizzo IP del mittente e caspita se riesco a capire come si fa! :incazz::incazz::incazz:
io ho usato il form precompilato di Aruba e funziona, ma se voi mi consigliate di usarne un altro sono disposto a riscrivere tutto purchè funzioni.
GRAZIE
questa è la pagina html
e questa è la pagina PHP
sono un autodidatta a livello più che basico che fino ad ora ha realizzato qualche sempli pagina html per amici o associazioni no profit.
ora mi si pone il problema di inserire in un sito di un amico un form mail per l'invio di posta.
Essendo neofita e cliente Aruba ho scaricato il modulo precompilato presente sul sito di Aruba e lo adattato alle mie esigenze.
Il tutto è comnposto da due pagine: una html che contiene il form da compilare, l'altra in php da che materialmente invia la mail.
I campi sono: NOME, COGNOME, MAIL MITTENTE, TELEFONO MITTENTE e IL TESTO DEL MESSAGGIO + DUE SPUNTE sulla normativa per la privacy che inserirò.
Funziona!
ma avrei bisgno che nella mai che mi arriva ci fosse anche l'indirizzo IP del mittente e caspita se riesco a capire come si fa! :incazz::incazz::incazz:
io ho usato il form precompilato di Aruba e funziona, ma se voi mi consigliate di usarne un altro sono disposto a riscrivere tutto purchè funzioni.
GRAZIE
questa è la pagina html
Codice:
<html>
<head>
<title></title>
<style type="text/css">
.test {
font-family: Courier New, Courier, monospace;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css celle modulo.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<form method="post" action="formInvio_ita.php">
<input type="hidden" name="require" value="e-mail,nome,cognome">
<p align="center"><font face="Arial" size="3" color="#993300">FormMail a campi
multipli in php</font></p>
<tr>
<td width="100%"><div align="center">
<table width="600" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" style="border-collapse: collapse;">
<tr>
<td width="273" valign="top" bordercolor="#993300" style="text-align: center">
<p align="center"><i><font face="Arial" size="2" color="#FFFFFF">Nome (obbligatorio)</font></i></td>
<td width="321" bordercolor="#993300">
<p align="center"><input type="text" name="nome" size="40" style="/* [disabled]background-color: #FFF; */ border-style: inset; border-color: #999; border-width: 2; font: arial; font-size: 12px; color: #00F; text-transform: uppercase;"></font></p></td>
</tr>
<tr>
<td width="273" align="center" valign="top" style="text-align: center">
<font face="Arial" size="2" color="#FFFFFF">Cognome (obbligatorio)</font></td>
<td width="321">
<p align="center"><font face="Arial" size="3" color="#993300"> <input type="text" name="cognome" size="40" style="/* [disabled]background-color: #FFF; */ border-style: inset; border-color: #999; border-width: 2; font: arial; font-size: 12px; color: #00F; text-transform: uppercase;"></font></td>
</tr>
<tr>
<td width="273" align="center" valign="top" bordercolor="#993300" bgcolor="#010000" style="text-align: center">
<i>
<font face="Arial" size="2" color="#FFFFFF">
email a cui si vuole risposta (obbligatorio)</font></i></td>
<td width="321" bordercolor="#993300">
<p align="center"><font face="Arial" size="3" color="#993300"><input type="text" name="e-mail" size="40" style="/* [disabled]background-color: #FFF; */ border-style: inset; border-color: #999; border-width: 2; font: arial; font-size: 12px; color: #00F;">
</font></td>
</tr>
<tr>
<td width="273" align="center" valign="top" style="text-align: center">
<font face="Arial" size="2" color="#FFFFFF">
telefono</font></td>
<td width="321">
<p align="center"><font face="Arial" size="3" color="#993300"><input type="text" name="telefono" size="40" style="/* [disabled]background-color: #FFF; */ border-style: inset; border-color: #999; border-width: 2; font: arial; font-size: 12px; color: #00F; text-transform: uppercase;">
</font></td>
</tr>
<tr>
<td width="273" align="center" valign="top" style="text-align: center">
<font face="Arial" size="2" color="#FFFFFF">
messaggio</font></td>
<td width="321">
<p align="center"><textarea rows="10" name="messaggio" cols="38" style="background-color: #FFFFFF; border-style: inset; border-color: #999; border-width: 2; font: arial; font-size: 12px; color: #00F; "></textarea></p></td>
</tr>
<tr>
<td width="273" align="center" valign="top" style="text-align: center">
<font face="Arial" size="2" color="#FFFFFF">
privacy 01</font></td>
<td width="321"><p align="center">
<input type="checkbox" name="privacy01" value="si" checked>
<font color="#FFFFFF" size="2" face="Arial">approvo</font>
</p></td>
</tr>
<tr>
<td width="273" align="center" valign="top" style="text-align: center">
<font face="Arial" size="2" color="#FFFFFF">
privacy 02</font></td>
<td width="321"><p align="center">
<input type="checkbox" name="privacy02" value="si" checked>
<font face="Arial" size="2" color="#FFFFFF">approvo</font> </p></td>
</tr>
</table>
</div>
<br>
<p align="center"><input type="submit"><input type="reset"></p>
<p align="center"><br><font color="#ffffff" face="Arial" size="1">Hotel Bellevuee et Mediterranee</font> </p>
<hr>
</form>
<p align="center"> </td>
</tr>
</table>
</center>
</div>
</html>
e questa è la pagina PHP
Codice:
<?
/*
formMail completo, è possibile aggiungere qualunque campo
è sufficiente inserire le due pagine in un punto qualunque
del proprio dominio.
by linkbruttocane
REV 2013
*/
//INIZIO PARAMETRI DA SETTARE OBBLIGATORIAMENTE
/****************************************************************************************/
//email di destinazione, mettere qui la propria email
$contenitore = "[email protected]";
// Il parametro $provenienza indica le possibili provenienze dei dati: indicare
// il proprio dominio nella forma mostrata dall'esempio. l IP è facoltativo.
$provenienza = array ('pincopallino.it','http://www.pincopallino.it','XX.XXX.XXX.XX');
// Il parametro $url indica la pagina alla quale si viene
// rimandati una volta compilato correttamente il modulo
// io ho messo la homepage, ma potrebbe essere qualunque altra pagina
$url = "/";
//FINE PARAMETRI DA SETTARE OBBLIGATORIAMENTE
/****************************************************************************************/
// Il parametro $delay indica i secondi di ritardo impiegati
// a riportare l'utente all'home page una volta
// compilato correttamente il modulo
$delay = "3";
// 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]');
$redirect = "http://www.pincopallino.it/posta02.htm";
$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='#94B6C6'>
<p align='center'><font face='Arial' color='#990000' size='2'>Il modulo non è
stato inviato per le seguenti ragioni</font></p><br>
<p align='center'><font face='Arial' size='2' color='#990000'>
<?
echo $reason."\n";
?>
</font>
<p align='center'><font face='Arial' size='2' color='#990000'>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: $contenitore\r\nReply-To: $contenitore\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 = "#94B6C6";
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[$i]);
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[$i]);
if((!(${$string})) || (!(${$string}))) {
if ($missing_fields_redirect) {
header ("Location: $missing_fields_redirect");
exit;
}
$require;
$missing_field_list .= "<b>Non trovato: $required[$i]</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($_POST, $sort);
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 = "Richiesta info dal sito";
mail_it(stripslashes($content), stripslashes($titolo), $email, $contenitore);
if ($redirect) {
header ("Location: $redirect");
exit;
} else {
print "<body bgcolor='#94B6C6'>
<p align='center'><font face='Arial' size='2' color='#800000'>Grazie per averci
contattato.</font></p><p align='center'><font face='Arial' size='2' color='#800000'>Riceverete
risposta all'indirizzo email da voi indicato $e-mail<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 ----------> //