PDA

Просмотр полной версии : Очередной flash+php = отправка на email


German
08.08.2010, 01:52
Доброй ночи.

Четвертый день вожусь с данной комбинацией отправки на мыло содержимого ввода в текстовые поля. Перерыл все похожие темы, но решения не нашел, добился только, что письмо приходит, но поля пустые.

вот сама флэшка с кнопкой и полями:
Stage.scaleMode = "noScale";
var tr = true;
var tr1 = true;
var tr2 = true;
var fio_txt:TextField = this.createTextField("fio_txt", 2, 360, 45.5, 230, 26);
var mail_txt:TextField = this.createTextField("mail_txt", 4, 360, 76.6, 230, 26);
var text_txt:TextField = this.createTextField("text_txt", 6, 328, 110, 261, 267);
//
var emailForm:TextFormat = new TextFormat();
emailForm.size = 16;
emailForm.font = "fine";
emailForm.color = 0x666666;
//
fio_txt.type = "input";
mail_txt.type = "input";
text_txt.type = "input";
//
fio_txt.border = true;
fio_txt.borderColor = 0xc4c4c4;
fio_txt.embedFonts = true;
fio_txt.setNewTextFormat(emailForm);
mail_txt.border = true;
mail_txt.borderColor = 0xc4c4c4;
mail_txt.embedFonts = true;
mail_txt.setNewTextFormat(emailForm);
text_txt.border = true;
text_txt.embedFonts = true;
text_txt.borderColor = 0xc4c4c4;
text_txt.setNewTextFormat(emailForm);
//
fio_txt.text = "Insert you name";
mail_txt.text = "Insert you email";
text_txt.text = "Your sobject";
//
fio_txt.onSetFocus = function() {
fio_txt.text = "";
delete this.onSetFocus;
};
//
mail_txt.onSetFocus = function() {
mail_txt.text = "";
delete this.onSetFocus;
};
//
text_txt.onSetFocus = function() {
text_txt.text = "";
delete this.onSetFocus;
};
//
send_mc.onPress = function() {
LO = new LoadVars();
LO.mailmsg = text_txt.text;
LO.fn = fio_txt.text;
LO.mail = mail_txt.text;
LO.sendAndLoad("send.php",LO,"POST");
text_txt.text = "Thank you";
fio_txt.text = "";
mail_txt.text = "";

};

вот PHP:

<?php

$sendTo = "мое мыло";
$subject = "Message from your website";

$name = $_POST['fio_txt'];
$email = $_POST['mail_txt'];
$message = $_POST['text_txt'];

$headers = "From: $name <$email> \r\n";
//$headers .= 'MIME-Version: 1.0' . "\r\n";
//$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$msg = "Name: $fio_txt\n"
."e-mail: $mail_txt\n"
."message: $text_txt";
mail($sendTo, $subject, $msg, $headers);

echo "sent=success";

?>

И еще вопрос:

При нажатии кнопки отправить содержимое полей отправляется в PHP и далее серваком после выполнения PHP скрипта улетает мне на мыло ?

e_gamer
08.08.2010, 02:13
<?
$msg = "Name: $fio_txt\n"
."e-mail: $mail_txt\n"
."message: $text_txt";
?>


Где в скрипте переменные $text_txt, $fio_txt и $mail_txt ?
Наверное, нужно следующее:

<?
$msg = "Name: ".$_POST['fio_txt']."\n"
."e-mail: ".$_POST['mail_txt']."\n"
."message: ".$_POST['text_txt'];
?>

German
08.08.2010, 02:20
Попробовал Ваш вариант - не помогает :(

e_gamer
08.08.2010, 02:31
Я сюда не посмотрел сразу:

LO.mailmsg = text_txt.text;
LO.fn = fio_txt.text;
LO.mail = mail_txt.text;


Попробуйте:

<?
$msg = "Name: ".$_POST['fn']."\n"
."e-mail: ".$_POST['mail']."\n"
."message: ".$_POST['mailmsg'];
?>


Если честно, я больше по AS3.0 части.
По PHP5 могу сказать - скрипт отправит мыло, если это настроено на стороне сервера, а так же заданы корректные параметры для функции.

Добавлено через 1 минуту
Я уже отвечал в 2-х или 3-х темах, где были вопросы о взаимодействии с сервером.
Я указывал AMF, как механизм взаимодействия.
Если приложение активно работает с сервером, может стоит попробовать?

German
08.08.2010, 02:36
Спасибо e_gamer сработало !!! 5 баллов.

Теперь буду с кодировками возиться.

И еще вопрос:
Что такое LO. ?

e_gamer
08.08.2010, 03:06
Судя по коду - экземпляр класса LoadVars