私はactionscripts 3とphpを使用してメールを送信するためのチュートリアルを見つけました。プロジェクトファイルをダウンロードし、mail.phpをVPSサーバーのxamp htdocsフォルダにコピーしました。アニメーションCCプロジェクトは実行されますが、何も送信されません。ActionScripts 3 to PHP email send
AS3:
submit_btn.addEventListener(MouseEvent.CLICK, sendMessage);
function sendMessage(e:MouseEvent):void
{
var my_vars:URLVariables = new URLVariables();
my_vars.senderName = name_txt.text;
my_vars.senderEmail = email_txt.text;
my_vars.senderMsg = message_txt.text;
var my_url:URLRequest = new URLRequest("http://my-domain.com/mail.php");
my_url.method = URLRequestMethod.POST;
my_url.data = my_vars;
var my_loader:URLLoader = new URLLoader();
my_loader.dataFormat = URLLoaderDataFormat.VARIABLES;
my_loader.load(my_url);
name_txt.text = "";
email_txt.text = "";
message_txt.text = "Message Sent";
}
PHP:
<?php
$to = "[email protected]"; //Changed to my gmail
$subject = ($_POST['senderName']);
$message = ($_POST['senderMsg']);
$message .= "\n\n---------------------------\n";
$message .= "E-mail Sent From: " . $_POST['senderName'] . " <" . $_POST['senderEmail'] . ">\n";
$headers = "From: " . $_POST['senderName'] . " <" . $_POST['senderEmail'] . ">\n";
if(@mail($to, $subject, $message, $headers))
{
echo "EMAIL SENT";
}
else
{
echo "EMAIL NOT SENT";
}
?>
アニメイトのCC出力:
Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs. at Error$/throwError() at flash.net::URLVariables/decode() at flash.net::URLVariables() at flash.net::URLLoader/onComplete()
PHP出力:
Notice: Undefined index: senderName in /opt/lampp/htdocs/mail.php on line 3 Notice: Undefined index: senderMsg in /opt/lampp/htdocs/mail.php on line 4 Notice: Undefined index: senderName in /opt/lampp/htdocs/mail.php on line 6 Notice: Undefined index: senderEmail in /opt/lampp/htdocs/mail.php on line 6 Notice: Undefined index: senderName in /opt/lampp/htdocs/mail.php on line 7 Notice: Undefined index: senderEmail in /opt/lampp/htdocs/mail.php on line 7
EMAIL NOT SENT
私はactionscriptには何の経験もありませんが、あなたの問題の少なくとも1つはポスト再ありがとうございますクエストのキーは一致しないようです。 ASでは 'senderName'と呼ばれるプロパティを設定しますが、PHPでは' name'を読み込もうとします。おそらくあなたのASのプロパティ名と一致するようにあなたのPHPのポストキーを変更することは始まるでしょう: '$ _POST ['senderName']'、 '$ _POST ['senderEmail']'、 '$ _POST ['senderMsg'] ' – Steve
何も変わっていない。 –
AS3エラーを回避するために、URLLoaderDataFormat.VARIABLESの行にコメントを付けます。この行は、**応答**は要求ではなく、key1 = value1&key2 = value2の文字列であることを示しています。 PHPの場合は、入ってくるデータが何であるかを見るためにprint_r($ _ POST)とprint_r($ _ GET)から始めます。 – Organis