Visualizza un messaggio singolo
  #5 (permalink)  
Vecchio 30-11-2007, 12.09.34
L'avatar di Ludus
Ludus Ludus non è in linea
Moderatore Sentinella
 
Registrato al forum dal: 20-01-2007
ubicazione: Roma
Messaggi: 4,068
predefinito

Quote:
Originariamente inviata da daweb Visualizza il messaggio
Posta il codice Ludus...
Grazie, eccolo qui:

Codice PHP:
<?
##############################
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 = "4";

// 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.islanda2006.it/";

// Il parametro $provenienza indica le possibili provenienze dei dati: indicare
// il proprio dominio nella forma mostrata dall'esempio

$provenienza = array ('islanda2006.it','www.islanda2006.it','217.64.195.223');

// 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><br>
<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
"<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 = "#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("<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($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 = "Islanda2006.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='#04426E'>
  <tr>
    <td valign='top'>
<table width='100%' height='247' border='1' bordercolor='#D0ECFF' bgcolor='#ffffff' cellpadding='4' cellspacing='0'>
  <tr>
    <td><div align='center'><font face='Verdana, Arial, Helvetica, sans-serif'><strong>
        <em>Grazie per avermi contattato!</em></strong></font></div>
      <div align='center'><font face='Verdana, Arial, Helvetica, sans-serif'>Sarete
        contattati<br>
        appena possibile all'indirizzo da voi inserito<br>
        $email</font></div>
      <br> <div align='center'><br>
        <br>
        <font color='#000000' 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
"<br><br>\n";
   
   exit;
}

// <----------   fine    ----------> //  
?>
__________________
"Il campo dei motori di ricerca con annesso il principio dei risultati di ordinamento è di gran lunga la scoperta più importante di tutti i tempi, le immediate generazioni future trarranno i massimi benefici evolutivi multisettoriali dall'imponente condivisione di conoscenza ordinata che tali giganti hanno prodotto e producono." - Micky docet.

Article marketing | Recensioni siti | Realizzazione siti internet a Roma
Rispondi quotando