Kod AS:
// nazwy pól Edit
name = "imię i nazwisko:";
email = "email:";
message = "wiadomość:";
function checkEmail(inputEmail:String):Boolean {
if (inputEmail.indexOf(" ")>0) {
return false;
}
var emailArray:Array=inputEmail.split("@");
if (emailArray.length != 2 || emailArray[0].length == 0 || emailArray[1].length ==0) {
return false;
}
var postArray:Array=emailArray[1].split(".");
if (postArray.length < 2) {
return false;
}
for (var i:Number=0; i<postArray.length; i++) {
if (postArray[i].length < 1) {
return false;
}
}
var suffix=postArray[postArray.length-1];
if (suffix.length < 2 || suffix.length > 3) {
return false;
}
return true;
};
function sendForm() {
// LoadVars
dataSender = new LoadVars();
dataReceiver = new LoadVars();
dataSender.name = name_txt;
dataSender.email = email_txt;
dataSender.message = message_txt;
dataReceiver.onLoad = function() {
if (this.response == "passed") {
onEnterFrame=null;
send_btn.enabled = false;
send_btn.gotoAndStop("sent");
} else if (this.response == "invalid") {
send_btn.gotoAndStop("error");
} else {
send_btn.gotoAndStop("error");
};
};
dataSender.sendAndLoad("lv3_lite.php", dataReceiver, "POST");
};
function checkForm() {
onEnterFrame = function() {
// imie
if(name_txt=="") {
check_1.gotoAndStop("off");
}
else if (name_txt==name) {
check_1.gotoAndStop("off");
}
else {
var nameArray:Array = name_txt.split(" ");
if (nameArray[0].length > 1 && nameArray[1].length > 0) {
check_1.gotoAndStop("valid");
check_1_valid = "valid";
}
else {
check_1.gotoAndStop("invalid");
}
};
// email
if(email_txt=="") {
check_2.gotoAndStop("off");
}
else if (email_txt==email) {
check_2.gotoAndStop("off");
}
else {
if (email_txt.lenght > 5) {
if (checkEmail(email_txt)==false) {
check_2.gotoAndStop("off");
}
else {
check_2.gotoAndStop("invalid");
}
}
else if(checkEmail(email_txt)==true){
check_2.gotoAndStop("valid");
check_2_valid = "valid";
}
else if(email_txt==email){
check_2.gotoAndStop("off");
}
else {
check_2.gotoAndStop("invalid");
};
};
if(message_txt=="") {
}
else if (message_txt==message) {
}
else {
check_3_valid ="valid";
};
if (check_1_valid =="valid" && check_2_valid =="valid" && check_3_valid =="valid") {
send_btn.enabled = true;
}
};
};
send_btn.onRelease = function() {
sendForm();
};
name_txt=name;
EditField1.onSetFocus=function() {
if(name_txt==name) {name_txt=""; checkForm();};
};
EditField1.onKillFocus=function() {
if(name_txt=="") {name_txt=name;};
};
// email_txt
email_txt=email;
EditField2.onSetFocus=function() {
if(email_txt==email) {email_txt=""; checkForm();};
};
EditField2.onKillFocus=function() {
if(email_txt=="") {email_txt=email; };
};
// message_txt
message_txt=message;
EditField3.onSetFocus=function() {
if(message_txt==message) {message_txt=""; checkForm();};
};
EditField3.onKillFocus=function() {
if(message_txt=="") {message_txt=message; };
};
// dozwolone znaki
EditField1.restrict = "A-Z a-z ą-ź ó ż Ą-Ź Ó Ż :";
EditField2.restrict = "A-Z a-z 0-9 @ . ^ ";
// wysyłanie - button !
send_btn.enabled = false;
Kod PHP:
<?php
header("Content-type: text/xml; charset=utf-8");
if(!isset($_COOKIE['sent_form'])) {
setcookie('sent_form', time(), time() + 60);
if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message'])) {
// pobieranie danych z formularza i usuwanie "białych spacji" i "niebezpiecznych" znaków
$name = strip_tags(trim($_POST["name"]));
$email = strip_tags(trim($_POST["email"]));
$message = strip_tags(trim($_POST["message"]));
// twój adres email
$send_to = "adres_email@gmail.com";
// temat wiadomości
$subject = "Witaj - nowa wiadomość!";
// nagłówki mail - obsługa utf-8 itp.
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8" . "\r\n";
$headers .= "From: $name <$email>" . "\r\n";
$headers .= "Reply-To: <$email>" . "\r\n";
$headers .= "Return-Path: $email" . "\r\n";
// treść wiadomości
$messages = "Dostałeś nową wiadomość o następującej treści:<br><br>
<b>Imię i Nazwisko:</b> $name<br>
<b>Email:</b> $email<br>
<b>Wiadomość:</b> $message";
// sprawdzanie poprawności adresu email osoby wysyłającej wiadomość
if (preg_match ("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i", $email)) {
// przekazanie zmiennej do flasha o poprawnym wysłaniu wiadomości
echo "response=passed";
// wysyłanie wiadomości po przez funkcję mail
mail($send_to, $subject, $messages, $headers);
//czyszczenie zmiennych
$name="";
$email="";
$message="";
}
else {
// przekazanie zmiennej do flasha o niepowodzeniu w wysłaniu wiadomości
echo "response=invalid";
exit;
}
exit;
}
else{exit;}
}
?>