PDA

Просмотр полной версии : Форма отправки на e-mail


postoronniy
22.01.2012, 02:36
Пробовал сделать форму отправки на email вставил скрипт:
stop();

var oSubmitListener:Object = new Object();
var lvSenderLoad:LoadVars = new LoadVars();
var lvReceiveLoad:LoadVars = new LoadVars();

btnSend.addEventListener("click", oSubmitListener);

oSubmitListener.click = function(evt:Object): Void
{
lvSenderLoad.userName = ctiName.text;
lvSenderLoad.userEmail = ctiEmail.text;
lvSenderLoad.userMessage = ctaMessage.text;
lvSenderLoad.sendAndLoad("send_mail.php", lvReceiveLoad);
trace("посылаем " + ctaMessage.text);
};

lvReceiveLoad.onLoad = function(bSuccess:Boolean): Void
{
if(bSuccess) {
trace(this.isSentOK);
this.isSentOK ? gotoAndStop("success") : gotoAndStop("failed");
} else {
trace("не удалось получить ответ от сервера");
}
}
Но при компиляции выскакивают ошибки-смотри картинку

Кто мне скажет в чем может быть проблема???

PS: форум я читал, ответа не нашел. Похоже у остальных тоже самое работает.

postoronniy
23.01.2012, 22:22
Неужели ни у кого нет идей???

mooncar
23.01.2012, 22:39
Апать темы на форуме нельзя. Предупреждение.

По существу - скорее всего вы компилируете под Flash Player 5, отсюда и ошибки.

postoronniy
06.02.2012, 14:54
Извините!

А под какой флэш плеер компилировать, что бы не было ошибок?

udaaff
06.02.2012, 15:27
Или :Void поубирайте из кода или в свойствах документа выставьте Script: ActionScript 2.0 и плеер не ниже 6 соответственно.

postoronniy
06.02.2012, 16:51
А на что можно void заменить?

dark256
06.02.2012, 17:34
Вам это, скорее всего, непринципиально. Просто уберите ;)

postoronniy
18.02.2012, 14:30
Сейчас mail.php выглядит так:
<?php
$header.= "MIME-Version: 1.0\n";
$header.= "Content-Type: text/plain; charset=\"UTF-8\"\n";
$header.= "Content-Transfer-Encoding: 7bit\n";
$to = "adam1983@list.ru";
$body = $mass;

if (mail($to,"Письмо с сайта Захаровв.рф", $body, $header)) echo "1";
else echo "2";
?>,
а во флэше так:

on (rollOver)
{_root.pag.contacts.m3.gotoAndPlay("stopa");}

on (release) {
error.gotoAndStop(1);
if(String(inp1)=="Ваше имя"){error.gotoAndStop(2);}
else if(String(inp2)=="Ваш e-mail адрес"){error.gotoAndStop(3);}
else if(String(inp3)=="Напишите сюда Ваше сообщение"){error.gotoAndStop(4);}
else{
mass="Пишет:"+"\n"+
"_____"+"\n"+
"Имя: "+inp1+"\n"+
"E-mail: "+inp2+"\n"+
"Текст сообщения: "+"\n"+
"_______________"+"\n"+inp3;
loadVariablesNum("mail.php", 0, "POST");
_root.pag.contacts.inp1 = "Ваше имя";
_root.pag.contacts.inp2 = "Ваш e-mail адрес";
_root.pag.contacts.inp3 = "Напишите Ваше сообщение сюда";
}
}
on (rollOut)
{_root.pag.contacts.m3.gotoAndPlay("stopb");}

На почту приходит пустое письмо с указанной темой, в тексте письма есть только точка на 3й строчке.
Кто подскажет куда пропадает текст письма?

Добавлено через 44 часа 41 минуту
Решено.
Этому скриптику нужен register_globals, который не рекомендуется к использованию и в новых версиях PHP вообще будет исключен.

Вам лучше внести незначительные изменения в скрипт.

Строку
$body = $mass;

Замените на

$body = $_POST['mass'];