<?php
/**********************************
* FormMail Sviluppato *
* *
**********************************/
// NON TOCCARE!
define('ONLY_NUMBERS' , '/[0-9]+/');
define('ONLY_LETTERS' , '/[a-z]+/i');
define('ONLY_LETTERS_WITH_SPACE' , '/[a-z ]+/i');
define('ONLY_LETTERS_WITH_SPECIAL_CHARS' , '/[a-z_@!?#\/*+ùàòèéì -]+/i');
define('NUMBERS_AND_LETTERS' , '/[a-z0-9]+/i');
define('NUMBERS_AND_LETTERS_WITH_SPACE' , '/[a-z0-9 ]+/i');
define('NUMBERS_AND_LETTERS_WITH_SPECIAL_CHARS' , '/[a-z0-9_@!?#\/*+ùàòèéì -]+/i');
define('EMAIL_ADDRESS' , '/[a-z0-9_]+@[a-z0-9_]+\.[a-z]{2,6}/');
################################################## ####################
# #
# MODIFICARE DA QUI... #
# #
################################################## ####################
// Per creare i propri set di caratteri personali guardare il manuale PHP all'indirizzo
define('YOUR_CHARSET_NAME_HERE' , '/YOUR_CHARSET_HERE/');
// CONFIG VAR
$_CONFIG_VAR = array(
'backurl' => '../outlet/conferma_prenotazione.htm', // L'indirizzo a cui essere inviati dopo l'invio della mail
'backname' => 'Outlet', // Nome del sito
'yourmail' => 'michele@xxx.it' // Indirizzo email a cui inviare il contenuto del form
);
// CHECK VALUES
$regexp = array(
'NOME_CAMPO_FORM1' => ONLY_LETTERS_WITH_SPACE,
'NOME_CAMPO_FORM3' => NUMBERS_AND_LETTERS,
'NOME_CAMPO_FORM2' => EMAIL_ADDRESS
);
// Elenco dei campi di destnazione aggiuntivi oltre a quello di default
// ATTENZIONE: è necessario eliminare i vari elementi altrimenti non
// usati altrimenti si otterrà probabilmente un errore
// durante l'invio!!!
$destinationEmail = array(
);
// Questo campo permette di escludere i campi vuoti,
// se questi non debbano essere controllati nella forma
$showEmptyFields = true;
################################################## ####################
# #
# ...A QUI! NON TOCCARE O SI VERIFICHERANNO MALFUNZIONAMENTI! #
# #
################################################## ####################
$errors = array();
if (count($_POST) == 0) {
echo <<< END_HEREDOC
<html>
<head>
<title>{$_CONFIG_VAR['backname']} - Errore!!!</title>
<style>
BODY { font-family: Verdana; font-size: 12px;}
A, :LINK, :VISIT, :HOVER {color: blue;}
#error_box {color: #FF0000; font-size: 14px; font-weight: bold;}
#goback_box {text-align: center;}
.separator {font-size:0px; height: 50px;}
</style>
</head>
<body>
<div id="error_box">
Nessun campo nel form mail specificato!
</div>
<div class="separator"></div>
<div id="goback_box">
Torna Indietro
</div>
</body>
</html>
END_HEREDOC;
exit;
}
while (list($key, $value) = each($_POST)) {
if (isset($regexp[$key])) {
if (!preg_match($regexp[$key], $value)) {
$key = ucwords(str_replace('_', ' ', $key));
$errors[] = "- Il campo {$key} contiene caratteri non ammessi!";
}
} elseif (!trim($value) && $showEmptyFields === false) {
unset($_POST[$key]);
}
}
reset($_POST);
if (count($errors) > 0) {
$error_str = implode("
\r\n", $errors);
echo <<< END_HEREDOC
<html>
<head>
<title>{$_CONFIG_VAR['backname']} - Errore!!!</title>
<style>
BODY { font-family: Verdana; font-size: 12px;}
A, :LINK, :VISIT, :HOVER {color: blue;}
#error_box {color: #FF0000; font-size: 12px; font-weight: bold;}
#error_box_title {font-size: 14px; text-align: center;}
#goback_box {text-align: center;}
.separator {font-size:0px; height: 50px;}
</style>
</head>
<body>
<div id="error_box">
<div id="error_box_title">Si sono verificati i seguenti errori</div>
{$error_str}
</div>
<div class="separator"></div>
<div id="goback_box">
Torna Indietro
</div>
</body>
</html>
END_HEREDOC;
exit;
}
// PREPARE HEADERS
$headers = '';
$headers .= "Content-Type: text/plain\n";
$headers .= "From: {$_SERVER['REMOTE_ADDR']}\n";
$headers .= "Subject: FormMail da {$_CONFIG_VAR['backname']}\n";
if (count($destinationEmail) > 0)
$headers .= "Bcc: " . implode(',', $destinationEmail) . "\n";
$headers .= "\n";
// PREPARE BODY
$body = '';
$body .= "Ti è stata inviata una richiesta dall'OUTLET dal seguente utente:\n";
$body .= " - IP: {$_SERVER['REMOTE_ADDR']}\n";
$body .= " - USERAGENT: {$_SERVER['HTTP_USER_AGENT']}\n";
$body .= "In data " . date('d/m/Y') . " alle ore " . date('H:i:s') . "\n";
$body .= "\n";
$body .= "Il Modulo Je Suis contiene le seguenti informazioni:\n";
while (list($key, $value) = each($_POST)) {
$key = ucwords(str_replace('_', ' ', $key));
$body .= " - {$key}: {$value}\n";
}
$body .= "\n";
// SEND MAIL
$ris = @mail($_CONFIG_VAR['yourmail'], "FormMail da {$_CONFIG_VAR['backname']}", $body, $headers);
// CHECK RESULT
if ($ris) {
echo <<< END_HEREDOC
<html>
<head>
<title>{$_CONFIG_VAR['backname']} - E-Mail Inviata</title>
<style>
BODY { font-family: Verdana; font-size: 12px;}
A, :LINK, :VISIT, :HOVER {color: blue;}
#ok_box {color: #00FF00; font-size: 14px; font-weight: bold;}
#goback_box {text-align: center;}
.separator {font-size:0px; height: 50px;}
</style>
</head>
<body>
<div id="ok_box">
E-Mail Inviata correttamente!
</div>
<div class="separator"></div>
<div id="goback_box">
Torna a {$_CONFIG_VAR['backname']}
</div>
</body>
</html>
END_HEREDOC;
exit;
} else {
echo <<< END_HEREDOC
<html>
<head>
<title>{$_CONFIG_VAR['backname']} - E-Mail Inviata</title>
<style>
BODY { font-family: Verdana; font-size: 12px;}
A, :LINK, :VISIT, :HOVER {color: blue;}
#error_box {color: #FF0000; font-size: 14px; font-weight: bold;}
#goback_box {text-align: center;}
.separator {font-size:0px; height: 50px;}
</style>
</head>
<body>
<div id="error_box">
Errore durante l'invio della mail!
</div>
<div class="separator"></div>
<div id="goback_box">
Torna a {$_CONFIG_VAR['backname']} - Riprova ad inviare
</div>
</body>
</html>
END_HEREDOC;
exit;
}
?>