Saibal scrisse ciò:
Codice PHP:
<?php
####################### SAIBAL GENERAL FORM 1.0 ####################
# #
# Creato da saibal - [url]http://www.lorenzone.it[/url] - [email]saibal@lorenzone.it[/email] #
# Roma - Aprile 2003 #
# #
# Scriptino piccolino piccolino da leccarsi i gomiti #
# #
# Dedicato al mio Taricone... il gatto che non deve chiedere mai! #
# #
# Baci ai pupi #
# Saibal alias Lorenzo #
####################################################################
#######################################
# IMPOSTAZIONI DI CONFIGURAZIONE #
#######################################
#I valori $_POST arrivano dal modulo della pagina precedente
//email del destinatario del modulo
$destinatario = "mail_destinatario@dominio.it";
//nome mittente per la corretta intestazione del modulo
$nome_mittente = $_POST['nome'];
//email mittente per per la corretta intestazione del modulo
$email_mittente = $_POST['email'];
//oggetto dell'email
$oggetto_email = $_POST['oggetto'];
//se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y". valori possibili: "y" e "n"
$all_free = "n";
//se invece avete messo "n" inserire tra virgolette, separati da virgola, i nomi dei campi da rendere OBBLIGATORI
//Esempio: $campi_req = array("telefono","via");
$campi_req = array("nome","oggetto", "messaggio");
//controllo del campo email? valori possibili: "y" e "n"
$obbligo_email = "y";
//obbligare l'utente ad accettare le condizioni? valori possibili: "y" e "n"
$accetta_condizioni = "n";
//url della pagina di ringraziamento
$pagina_grazie = "correct.php";
//url della pagina errore campi vuoti
$pagina_error_empty = "erl_empty.php";
//url della pagina errore email
$pagina_error_email = "erl_mail.php";
//url della pagina errore condizioni non accettate
$pagina_error_condizioni = "erl_condizioni.php";
//orario e data
$ora = date ("H:i:s");
$data = date ("d/m/Y");
//intestazione dell'email (arriva al destinatario)
$corpo = "
Modulo inviato il $data alle ore $ora\n
Riepilogo dati:\n
____________________________________________________________\n";
//======================= NON TOCCARE NULLA... SE NON VUOI INCASINARE QUALCOSA =======================\
########### CODICE VARIO ###########
//variabili per rendere lo script compatibile anche con PHP 4.2 - copyright di Chris
if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
$_POST = &$HTTP_POST_VARS;
}
//prendo il numero IP
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
if ($_SERVER["HTTP_X_FORWARDED_FOR"] == "") {
$ipnumb = getenv("REMOTE_ADDR");
}else {
$ipnumb = getenv("HTTP_X_FORWARDED_FOR");
}
} else {
$ipnumb = getenv("REMOTE_ADDR");
}
###################################
########### CONTROLLO DEI CAMPI ###########
$control_campi = 0;
if($all_free != "y"){
foreach($_POST as $key => $valore){
if(in_array($key,$campi_req)){
if(trim($valore) == ""){
$control_campi++;
}
}
}
} else {
$control_campi = 0;
}
########### CONTROLLO EMAIL ###########
$control_email = 0;
if($obbligo_email == "y"){
if(isset($_POST['email'])){
//espressione regolare a cura dell'esimio dott. Grande Minchia - [url]http://www.myphp.it[/url]
if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$", $_POST['email'])){
$control_email++;
}
} else {
$control_email = 0;
}
}
########### CONTROLLO CONDIZIONI ###########
$control_condizioni = 0;
if($accetta_condizioni == "y"){
if(isset($_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){
$control_condizioni = 0;
} else {
$control_condizioni ++;
}
}
########### VAI CON L'INVIO DELL'EMAIL ###########
if($control_campi == 0){
if($control_email == 0){
if($control_condizioni == 0){
foreach($_POST as $key => $valore){
$key = ucfirst(stripslashes(trim($key)));
$valore = stripslashes(trim($valore));
$key = str_replace("_"," ",$key);
if(trim($valore) == "") $valore = "Non compilato";
$corpo .= $key .": ". $valore ."\n\n";
}
$corpo .= "Numero IP: $ipnumb"."\n\n";
$corpo .= "
____________________________________________________________ \n\n
Grazie per aver utilizzato un Saibal Scriptino - Buona giornata!";
//inizio l'invio dell'email
mail("$destinatario","$oggetto_email","$corpo", "From: $nome_mittente <$email_mittente>");
;
} else {
header ("Location: $pagina_error_condizioni");
}
} else {
header ("Location: $pagina_error_email");
}
} else {
header ("Location: $pagina_error_empty");
}
?>
testato e funzionante.