<?

//anname mõned väärtused muutujatele, mida kasutame

$mailto = 'sinuemail@kuidas.ee' ;

$subject = "Feedback" ;

$formurl = "feedback_form.html" ;
$errorurl = "error_page.php" ;
$thankyouurl = "thankyou.php" ; //võid ka täispikalt välja kirjutada, kuid kui failid asuvad kõik samas kaustas, siis ei ole tegelikult vahet ("näiteks: http://www.kuidas.ee/feedback/thankyou.php")

$uself = 0;

//võtame väärtused html vormidest

$headersep = (!isset( $uself ) || ($uself == 0)) ? "\r\n" : "\n" ;
$name = $_POST['name'] ;
$email = $_POST['email'] ;
$message = $_POST['message'] ;
$http_referrer = getenv( "HTTP_REFERER" );

if (!isset($_POST['email'])) {
	header( "Location: $formurl" );
	exit ;
}

//kontroll, et poleks vormis tühje välju jäetud, kui jaa, siis suunata kasutaja error lehele
   
   if (empty($name) || empty($email) || empty($message)) {
   header( "Location: $errorurl" );
   exit ;
}
if ( ereg( "[\r\n]", $name ) || ereg( "[\r\n]", $email ) ) {
	header( "Location: $errorurl" );
	exit ;
}

// siit algab e-maili aadressi kontrollija, kontrollib, kas on ikka õige e-maili aadress sisestatud vormi

function check_email_address($email) {
// kontrollime pikkust ja et oleks ikka ainult üks @ märk aadressis
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
// vale emaili aadress, liialt tähemärke või @ märke.
}
// jupitame osadeks, et oleks lihtsam
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
return false;
}
}
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // domeeninime kontroll
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) {
return false; // pole päris domeen
}
for ($i = 0; $i < sizeof($domain_array); $i++) {
if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
return false;
}
}
}
return true;
}

// e-maili aadressi kontrollija lõpp

//e-kiri, mis vormi sisestatust saadetakse sinu poolt ülevalpool etteantud mailiaadressile

if (get_magic_quotes_gpc()) {
	$message = stripslashes( $message );
}

$messageproper =
//siin ei ole vist raskusi aru saada, mis on mis, \n on reavahetus php-s ja muutujate väärtused kirjutatakse kirjas vastavas kohas, nagu näha;
	"This message was sent from:\n" .
	"$http_referrer\n" .
	"----------------------------------------------------\n" .
	"Name of sender: $name\n" .
	"Email of sender: $email\n" .
	"----------------------------------------------------\n\n" .
	$message .
	"\n\n----------------------------------------------------\n" ;

//kui oli õige mailiaadress, siis... ;
if (check_email_address($email)) {
//saada meil ja suuna kasutaja thankyou lehele
mail($mailto, $subject, $messageproper,
	"From: \"$name\" <$email>" . $headersep . "Reply-To: \"$name\" <$email>" . $headersep . "X-Mailer: chfeedback.php 2.07" );
header( "Location: $thankyouurl" ); }

else { header( "Location: $errorurl" );
} 
exit ;

?>