在AS3到PHP的Flash中聯繫表單。在Flash中的聯繫表格:AS3檢查如果PHP發送電子郵件*問題*
我的問題是AS3中的函數「showdata」沒有使用PHP代碼中的變量。它無法看到來自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 ='[email protected]';
$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.-][email protected]\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;
return emailExpression.test(email);
}
什麼是'跟蹤(loader.data)的輸出;'? – bmleite 2011-04-06 11:27:57
在PHP方面不是問題嗎?試着做這個'if($ sending){echo「data = success」; } else {echo「data = error」; }'然後,在_showData_函數中更改/添加條件if(result.data ==「error」){...}'。 – bmleite 2011-04-06 14:10:30
@ bmleite:仍然沒有功能 – Nickos 2011-04-07 08:07:35