Ich habe eine Anleitung zum Senden von E-Mails mit ActionScript 3 und PHP gefunden, ich habe Projektdateien heruntergeladen und mail.php in unseren VPS-Server xamp htdocs-Ordner kopiert. Animiere CC-Projektlauf, aber nichts gesendet.ActionScripts 3 bis PHP E-Mail senden
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";
}
?>
Animate CC Ausgang:
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 Output:
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
Ich habe keine Erfahrung mit ActionScript, aber es sieht aus wie mindestens eines Ihrer Probleme ist die Post re Quest Keys scheinen nicht übereinzustimmen. In AS setzt man eine Eigenschaft namens 'senderName', aber in php versucht man 'name' zu lesen. Vielleicht wäre es ein Anfang, wenn du deine PHP-Post-Keys so änderst, dass sie mit deinen AS-Property-Namen übereinstimmen: '$ _POST ['senderName']', '$ _POST ['senderEmail']', '$ _POST ['senderMsg']' – Steve
Ich habe den Code geändert aber nichts hat sich geändert. –
Kommentieren Sie die Zeile mit URLLoaderDataFormat.VARIABLES, um einen AS3-Fehler zu vermeiden. Diese Zeile weist darauf hin, dass ** answer ** eine Zeichenfolge vom Format key1 = value1 & key2 = value2 ist, nicht die Anfrage. Was für PHP würde ich mit print_r ($ _ POST) und print_r ($ _ GET) beginnen, nur um zu sehen, welche eingehenden Daten sind. – Organis