Контактная форма во флэш-памяти с AS3 в PHP.
Моя проблема заключается в том, что функция "showdata" в AS3 не принимает переменные из кода PHP.Он не видит data = success из PHP, поэтому я всегда получаю сообщение об ошибке, даже если электронное письмо было успешно отправлено.Можете ли вы помочь мне, предложив что-либо изменить в функции "showdata" или что-нибудь еще?
Я тестирую на онлайн-сервере
Код PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
$subject =$_POST[theme];
$message=$_POST[msg];
$mail_from=$_POST[email];
$header="from: $name <$mail_from>";
$to ='test@test.gr';
$sending=mail($to,$subject,$message,$header);
if ($sending)
{
echo "answer=success";
}
else
{
echo "answer=error";
}
?>
</body>
</html>
Код AS3
sendbtn.addEventListener(MouseEvent.CLICK,trysend);
function trysend(e:MouseEvent):void{
if (subject.text == "") {
statustext.text = "give theme";
} else if (isValidEmail(from.text) != true) {
statustext.text = "give email.";
} else if (body.text == "") {
statustext.text = "write a message";
} else {
var variables:URLVariables = new URLVariables();
variables.theme = subject.text;
variables.email = from.text;
variables.msg = body.text;
var urlRequest:URLRequest = new URLRequest( "mail.php" );
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = variables;
var loader:URLLoader=new URLLoader();
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, showData);
loader.load(urlRequest);
}
}
function showData(evt:Event):void {
var loader:URLLoader=URLLoader(evt.target);
var resulting:URLVariables = new URLVariables(loader.data);
if (resulting.answer == "error") {
statustext.text = "Success!";
} else if (resulting.answer == "success"){
statustext.text = "error...";
subject.text="";
from.text="";
body.text="";
}
}
//Validation Email
function isValidEmail(email:String):Boolean {
var emailExpression:RegExp = /^[a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;
return emailExpression.test(email);
}