
<?php
/******************************
*  Script:   Form Mail        *
*  Versie:   4.0              *
*  Author:   SkYcE            *
*  Released: 07-12-2006       *
******************************/

//Set sessie voor flood optie
session_start();

/*
** Variabelen instellen
*/

// Naam voor als afzender van het bevestigingsmailtje
$var_name      = "je naam";
// Het mail adres waarnaar de data verstuurd moet worden en afzender adres
$var_email     = "je@email.nl";
// Bevestigingsmail naar de verstuurder aanzetten (true = aan / false = uit)
$var_confirm   = true;
// Om flooden te voorkomen (true = aan / false = uit)
$var_noflood   = true;
//Bericht wat een bezoeker te zien krijgt als er sprake is van flooden
$var_flood_msg = "U bent aan het flooden!";
//Aantal flood seconden dat het formulier buiten gebruik moet zijn na het versturen van een bericht
$var_flood_sec = 20;
// Geblokkeerde ip adressen, nieuw ip adres toevoegen is nieuwe waarde in de array
$var_ban_ips   = array('255.255.255.0');
// Bericht wat een bezoeker te zien krijgt indien diegene geblokkeerd is
$var_ban_msg   = "U bent geblokkeerd van het versturen van het contact formulier.";

/*
** Hieronder niks veranderen, tenzij je weet wat je doet
*/
//Functie voor ipadres verkrijgen
function get_ip () {
	if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
	$ipadres = $_SERVER['HTTP_X_FORWARDED_FOR'];
	} elseif(isset($_SERVER['HTTP_CLIENT_IP'])) {
	$ipadres = $_SERVER['HTTP_CLIENT_IP'];
	} else {
	$ipadres = $_SERVER['REMOTE_ADDR'];
	}
	
	return $ipadres;
}

//Host verkrijgen 
$hostmask = gethostbyaddr(get_ip()); 
// Formulier weergeven 
$form_view = true;
//Formulier versturen, als er iets misgaat word $ok = false 
$ok = true; 
// Bestandsnaam verkrijgen
$filename = basename($_SERVER['PHP_SELF']);
// Errors
$error = '';

if($_SERVER['REQUEST_METHOD'] == 'POST') {
	//Validate form
	if(!$_POST['geslacht']) { 
        $ok = false; 
        $error .= '- Er is geen geslacht ingevuld<br />'; 
    }
    if(!trim($_POST['naam'])) { 
        $ok = false; 
        $error .= '- Er is geen naam ingevuld<br />'; 
    }
    if(!eregi("[A-Za-z0-9_-]+([.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([.]{1}[A-Za-z0-9-]+)+", $_POST['email'])) {  
        $ok = false;  
        $error .= '- Er is geen geldig e-mailadres ingevuld<br />';  
    }
    if(!$_POST['onderwerp']) { 
        $ok = false; 
        $error .= '- Er is geen onderwerp ingevuld<br />'; 
    }
    if(!trim($_POST['bericht'])) { 
        $ok = false; 
        $error .= '- Er is geen bericht ingevuld<br />'; 
    }
    if($_POST['hob_sport'] != "ja" AND $_POST['hob_internet'] != "ja" AND $_POST['hob_uitgaan'] != "ja") { 
        $ok = false; 
        $error .= '- Er is geen hobby gekozen<br />'; 
    } 
    
// E-mail naar $var_email (webmaster)
$msg_2_admin = "
Geslacht:  ".$_POST['geslacht']."
Naam:      ".$_POST['naam']."
Email:     ".$_POST['email']."
Onderwerp: ".$_POST['onderwerp']."
======================================================================
Bericht:

".$_POST['bericht']."
======================================================================
Hobby's:

Sport:    ".$_POST['hob_sport']."
Internet: ".$_POST['hob_internet']."
Uitgaan:  ".$_POST['hob_uitgaan']."
======================================================================
Note:        ".$_POST['naam']." stuurde deze email op ".date('d-m-Y')." om ".date('H:i').".

             Het IP adres van ".$_POST['naam']." is: ".get_ip()."
             Het hostadres van ".$_POST['naam']." is: ".$hostmask;

// E-mail naar $_POST['email'] (poster)
$msg_2_poster = "Beste ".$_POST['naam'].", 

Bedankt voor het invullen van het formulier. Je hebt het formulier
ingevuld op ".date('d-m-Y')." om ".date('H:i').". Vanaf ".get_ip().".
======================================================================
Geslacht:  ".$_POST['geslacht']."
Naam:      ".$_POST['naam']."
Email:     ".$_POST['email']."
Onderwerp: ".$_POST['onderwerp']."
======================================================================
Bericht: 

".$_POST['bericht']."
======================================================================
Hobby's: 

Sport:    ".$_POST['hob_sport']."
Internet: ".$_POST['hob_internet']."
Uitgaan:  ".$_POST['hob_uitgaan'];

	if(in_array(get_ip(),$var_ban_ips)) {
		echo $var_ban_msg;
		$form_view = false;
	} elseif ($var_noflood == true && (time()-$_SESSION["antiflood"]) <= $var_flood_sec) {
		echo $var_flood_msg;
		$form_view = false;
	} elseif ($ok == true) {
        @$send = mail($var_email,
        			  "Contact: ".$_POST['onderwerp'],
        			  $msg_2_admin,
        			  "From: ".$_POST['naam']."<".$_POST['email'].">");
        
		if($send == 1) {  
			if($var_confirm == true){  
				mail($_POST['email'],
					 "Bevestiging Contact: ".$_POST['onderwerp'],
					 $msg_2_poster,
					 "From: ".$var_name."<".$var_email.">");  
			}
			
			echo'Beste '.$_POST['naam'].', uw bericht is verzonden, bedankt voor uw reactie.';
			
			if($var_confirm == true){  
				echo'<br /><br />Er is een bevestigingsmail onderweg met wat u heeft ingevuld.'; 
			} 
		}else{  
			echo'Beste '.$_POST['naam'].', uw bericht is helaas niet verzonden.<br /><br />
			Er is een fout opgetreden bij het verzenden. Wij zullen proberen het probleem zo snel mogelijk
			te verhelpen.<br /><br />
			
			Mocht dit probleem na enkele dagen niet verholpen zijn,neem dan contact op met de
			<a href="mailto:'.$var_email.'">Webmaster</a><br /><br />
			
			Bedankt voor uw medewerking.';  
		} 
		
		$form_view = false;
		
		$_SESSION["antiflood"] = time();
	}
}

/*
** Formulier
*/
if($form_view == true) {
	echo '
	<html>
	<head>
	    <title>Form Mail v4.0 by SkYcE</title>
	    <style type="text/css">
	    	body {
	    		font-family: Verdana;
	    		font-size:12px;
	    	}
	    	td {
	    		font-family: Verdana;
	    		font-size:12px;
	    	}
	    </style>
	</head>
	
	<body>';
	
	if($error != '') {
		echo '<font style="color:#FF0000;"><b>'.$error.'</b></font><br />';
	}
	
	echo '<form method="POST" action="'.$filename.'" style="border:0px; margin:0px; padding:0px;">
	<table width="55%" cellspacing="0" cellpadding="5"> 
	<tr> 
	    <td align="right"><b>Geslacht:</b></td> 
	    <td> 
	    <input type="radio" name="geslacht" value="Man"'.(isset($_POST['geslacht']) && $_POST['geslacht'] == "Man" ? ' checked' : '').'> Man 
	    <input type="radio" name="geslacht" value="Vrouw"'.(isset($_POST['geslacht']) && $_POST['geslacht'] == "Vrouw" ? ' checked' : '').'> Vrouw 
	    </td> 
	</tr> 
	<tr> 
	    <td align="right"><b>Naam:</b></td>
	    <td><input type="text" name="naam" size="36" maxlength="36" value="'.(isset($_POST['naam']) ? $_POST['naam'] : '').'"></td> 
	</tr> 
	<tr> 
	    <td align="right"><b>E-mailadres:</b></td> 
	    <td><input type="text" name="email" size="36" maxlength="36" value="'.(isset($_POST['email']) ? $_POST['email'] : '').'"></td> 
	</tr> 
	<tr> 
	    <td align="right"><b>Onderwerp:</b></td> 
	    <td><select name="onderwerp"> 
	    <option value="">Selecteer...</option> 
	    <option value="Onderwerp 1"'.(isset($_POST['onderwerp']) && $_POST['onderwerp'] == 'Onderwerp 1' ? ' selected' : '').'>Onderwerp 1</option> 
	    <option value="Onderwerp 2"'.(isset($_POST['onderwerp']) && $_POST['onderwerp'] == 'Onderwerp 2' ? ' selected' : '').'>Onderwerp 2</option> 
	    <option value="Onderwerp 3"'.(isset($_POST['onderwerp']) && $_POST['onderwerp'] == 'Onderwerp 3' ? ' selected' : '').'>Onderwerp 3</option> 
	    <option value="Onderwerp 4"'.(isset($_POST['onderwerp']) && $_POST['onderwerp'] == 'Onderwerp 4' ? ' selected' : '').'>Onderwerp 4</option> 
	    <option value="Onderwerp 5"'.(isset($_POST['onderwerp']) && $_POST['onderwerp'] == 'Onderwerp 5' ? ' selected' : '').'>Onderwerp 5</option> 
	    </select></td> 
	</tr> 
	<tr> 
	    <td align="right" valign="top"><b>Bericht:</b></td>   
	    <td><textarea rows="8" cols="40" name="bericht" style="overflow:auto;">'.(isset($_POST['bericht']) ? $_POST['bericht'] : '').'</textarea></td> 
	</tr> 
	<tr> 
	    <td align="right" valign="top"><b>Hobby\'s:</b></td> 
	    <td> 
	    <input type="checkbox" name="hob_sport" value="ja"'.(isset($_POST['hob_sport']) && $_POST['hob_sport'] == 'ja' ? ' checked' : '').'> Sport<br> 
	    <input type="checkbox" name="hob_internet" value="ja"'.(isset($_POST['hob_internet']) && $_POST['hob_internet'] == 'ja' ? ' checked' : '').'> Internet<br> 
	    <input type="checkbox" name="hob_uitgaan" value="ja"'.(isset($_POST['hob_uitgaan']) && $_POST['hob_uitgaan'] == 'ja' ? ' checked' : '').'> Uitgaan 
	    </td> 
	</tr> 
	<tr> 
	    <td>&nbsp;</td> 
	    <td><input type="submit" name="submit" value="Versturen"></td> 
	</tr> 
	</table> 
	</form>
	</body>
	</html>';
}
?>
 