Formularz wysyła nam wiadomość na podany adres email, lub też zwraca błąd.
Aby skrypt zadziałał potrzebujemy dodać 3 pola wejściowe o nazwach: from_txt, email_txt oraz mesage_txt, również jeden przycisk o nazwie submit_btn i pole dynamiczne error_txt.
Są nam równiez potrzebne etykiety o nazwach: play (widok formularza), send (wysyłanie formularza), success (wysłanie poprawne wiadomości) oraz failed (nie wysłanie wiadomości / wystąpienie błędu).
Musimy również stworzyć plik PHP o nazwie form.php.
Aby zmienić adres email oraz tytul wiadomości należy edytować linie numer 32 w pliku PHP.
Listing
//from input
from_txt.backgroundColor = true;
from_txt.backgroundColor = 0xf7f7f7;
from_txt.borderColor = true;
from_txt.borderColor = 0xb4b4b4;
from_txt.tabEnabled = yes;
//email input
email_txt.backgroundColor = true;
email_txt.backgroundColor = 0xf7f7f7;
email_txt.borderColor = true;
email_txt.borderColor = 0xb4b4b4;
email_txt.tabEnabled = yes;
//message multiline
mesage_txt.backgroundColor = true;
mesage_txt.backgroundColor = 0xf7f7f7;
mesage_txt.borderColor = true;
mesage_txt.borderColor = 0xb4b4b4;
mesage_txt.scroll = yes;
mesage_txt.bottomScroll = true;
message_txt.tabEnabled = yes;
//checking form
function checkForm():Boolean {
var missing:Boolean = false;
error_txt.text = "";
if (missing == false && from_txt.text == "") {
email_txt.borderColor = 0xb4b4b4;
mesage_txt.borderColor = 0xb4b4b4;
error_txt.text = "Please enter your name";
from_txt.borderColor = 0xff0000;
Selection.setFocus(from_txt);
missing = true;
}
if (missing == false && email_txt.text.indexOf("@") == -1) {
email_txt.borderColor = 0xff0000;
mesage_txt.borderColor = 0xb4b4b4;
from_txt.borderColor = 0xb4b4b4;
error_txt.text = "Your email address is not correct";
Selection.setFocus(email_txt);
missing = true;
}
if (missing == false && mesage_txt.text == " \t" && mesage_txt.text == " " && mesage_txt.text == " ") {
from_txt.borderColor = 0xb4b4b4;
email_txt.borderColor = 0xb4b4b4;
error_txt.text = "You did not enter any message";
mesage_txt.borderColor = 0xff0000;
Selection.setFocus(mesage_txt);
missing = true;
}
return missing ? false : true;
}
function sendMessage():Void {
var formOK:Boolean = checkForm();
if(formOK) {
email_txt.borderColor = 0xb4b4b4;
message.from = from_txt.text;
message.email = email_txt.text;
message.mesage = mesage_txt.text;
message.sendAndLoad("form.php?ck=" + new Date().getTime(), messageSent);
gotoAndStop('send');
}
};
function backToForm():Void {
gotoAndStop('play');
}
var message:LoadVars = new LoadVars();
var messageSent:LoadVars = new LoadVars();
messageSent.onLoad = function() {
if (this.sent == "success"){
gotoAndStop('success');
} else {
gotoAndStop('failed');
reason_txt.text = this.reason;
general_mc.reason_txt.text = this.reason;
}
};
gotoAndStop('play');
submit_btn.onRelease = sendMessage;
//KOD DLA PLIKU PHP
<?php
//deklaracja krtkich zmiennych
$from = $_POST['from'];
$email = $_POST['email'];
$message = $_POST['mesage'];
/*
$from = 'lolekss';
$email = 'ss@wp.pl';
$message = 'dsadasdadfaew';
*/
$pass = true;
//weryfikacja pola from
if (strlen($from) <= 5) {
$pass = false;
$reason = 'Please enter valid name (at least 5letters with spaces)';
}
//weryfikacja pola email
if (strlen($email)<6 || !eregi('^[a-zA-z0-9\_]+@[a-zA-z0-9]+\.[a-zA-z0-9\-\.]+$' , $email)) {
$pass = false;
$reason = 'Please enter valid email address';
}
//weryfikacja pola mesage
if (strlen($message)<8) {
$pass = false;
$reason = 'Please fill the masage box propely';
}
$main = $message. ' /r/n From: '
.$from. '/r/n Email: '
.$email;
//sprawdzanie czy wystapily problemy
if ($pass) {
mail('adres@email.pl', 'Tytuł wiadomości', $main, 'Reply-To: '.$email);
echo 'sent=success';
}else{
echo 'sent=failed&reason='. urlencode($reason);
}
?>
Ranga: Administrator serwisu Punktów: 0