Я создаю форму во Flash CS6 — Actionscript 2 & Flash Player 8. Я хотел бы отправить электронное письмо с входными данными, используя PHP.
У меня есть текстовое поле ввода с именем экземпляра NINPUT и кнопка: bSubmit.
Моя кнопка во Flash:
bSubmit.onRelease = function()
{
email();
}
function email()
{
var sMessage = "This is from a form<br/><br/>" + "Number: " + nInput.text;
lvSend = new LoadVars();
lvReply = new LoadVars();
lvSend.msg = sMessage;
lvSend.address = "[email protected]";
nInput.text = "";
lvSend.sendAndLoad('mail.php', lvReply, 'POST');
}
Мой PHP-скрипт
<?php
$message = stripslashes($_POST['msg']);
$address = $_POST["address"];
$headers = "From:[email protected] \r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
mail($address,"My Subject",$message, $headers);
?>
Все работает хорошо, кроме входных данных не отображается. Вот как выглядит электронная почта:
Это из формы
Номер: не определено
Я думаю, что-то не так со сценарием во Flash, но я не могу понять, что. Ребята, вы знаете? Благодарю.
РЕДАКТИРОВАТЬ
Это работает:
bSubmit.onRelease = function()
{
email();
}
function email()
{
var nInput = nInput.text;
var sMessage = "This is from a form<br/><br/>" + "Number: " + nInput;
lvSend = new LoadVars();
lvReply = new LoadVars();
lvSend.msg = sMessage;
lvSend.address = "[email protected]";lvSend.sendAndLoad('mail.php', lvReply, 'POST');
}
Рад, что ты получил это работает. Просто для дальнейшего использования вы можете сделать
bSubmit.onRelease = email;
Вместо того, чтобы ставить:
function() {
email();
}
Если вы не хотите передавать параметры, в этом случае это будет иметь смысл как таковой:
bSubmit.onRelease = function() {
email(nInput.text, "[email protected]");
}
Других решений пока нет …