PDA

Просмотр полной версии : проблемы с формой отправки сообщения


DJ_Baton
21.05.2008, 02:25
Помогите плиз не пойму в чем ошибка, у меня есть форма отправки сообщения, когда лежала в руте все работало, но я заключил её в мувиклип и ничерта не пашет теперь ((
находится она тут: _root.form
далее в этом мувике лежат 3 инпут текста: name_txt(поле ввода имени), mail_txt(поле для мыла), message_txt (собсно само сообщение) и кнопка отправки мувиклип but_mc.

внутри моего мувика _root.form следующий скрипт:


// Кнопка "Отправить"
but_mc.useHandCursor = true;
but_mc.onPress = function() {
F_sendMail(name_txt.text, mail_txt.text, message_txt.text);
};
F_sendMail = function (Name, Mail, Message) {
// Создаём мувик для хранения переменных
_root.createEmptyMovieClip("v", 120);
v.name = Name;
v.mail = Mail;
v.message = Message;
// Отправляем данный php - скрипту
v.loadVariables("sendmail.php", "POST");
};
// Что бы не было проблем с кодировкой при передачи текста php
System.useCodepage = true;

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

<?php
$name = $_POST['name'];
$mail = $_POST['mail'];
$message = $_POST['message'];
mail("my_mail@mail.net","Сообщение с сайта","От кого : $name\nE-mail : $mail\nСообщение : $message");
?>
*мыло я своё соответственно скрыл =)

DJ_Baton
21.05.2008, 02:37
Блин ну как всегда, нафлужу и в итоге сам решу проблему сразу после отправки сообщения ))))) Просто мувик для хранения данных надо было не в руте создавать а в моем мувике ;) Не совершайте моих ошибок )))

iNils
21.05.2008, 03:01
Метод loadVariables устарел сто лет назад, надо использовать класс LoadVars.

etc
21.05.2008, 10:38
// Что бы не было проблем с кодировкой при передачи текста php
System.useCodepage = true;

Как раз наоборот, чтобы были.

DJ_Baton
21.05.2008, 20:00
iNils, та просто я брал исходник который все поля и кнопки генерировал с нуля и переписывал под себя под мои готовые инпуты, как-то глянул что работает ну и забил на синтаксис...
Как раз наоборот, чтобы были.
как показала практика с кодировками всё отлично

etc
21.05.2008, 20:09
как показала практика с кодировками всё отлично
Ваша практика явно ограничивалась системой Windows с кириллической кодировкой по умолчанию.

iNils
21.05.2008, 20:09
и забил на синтаксис...Дело не в синтаксисе, а в удобстве.
loadVariables отправляет кроме нужных вещей всякий "мусор" который был в клипе. А LoadVars отправляет только, что нужно.

как показала практика с кодировками всё отличноПрочитайте (http://noregret.org/tutor/fonts/#4) почему так не стоит делать.

DJ_Baton
21.05.2008, 20:31
Большое спасибо, почитаю, рабирусь, кодировка и правда виндовс, переводитьс будет сайт в юникод в будущем, значит пригодится ;)

DJ_Baton
21.05.2008, 21:18
не вкурю как переписать скрипт под LoadVars, начал рыть хэлп совсем запутался, выложи пример плиз...

iNils
21.05.2008, 21:20
http://www.flasher.ru/forum/showthread.php?t=67377

DJ_Baton
21.05.2008, 21:42
глянь правильно ?

старый скрипт:
F_sendMail = function (Name, Mail, Message) {
_root.form.createEmptyMovieClip("v", 120);
v.name = Name;
v.mail = Mail;
v.message = Message;
v.loadVariables("sendmail.php", "POST");
};

Новый:
F_sendMail = function (Name, Mail, Message) {
v = new LoadVars();
v.name = Name;
v.mail = Mail;
v.message = Message;
v.sendAndLoad("sendmail.php", v, "POST");
};

экшн кнопки:
but_mc.onPress = function() {
F_sendMail(name_txt.text, mail_txt.text, message_txt.text);
};

iNils
21.05.2008, 22:07
Правильно. Но еще более правильнее так:
sendMail = function (name:String, mail:String, message:String):Void {
var v:LoadVars = new LoadVars();
v.name = name;
v.mail = mail;
v.message = message;
v.sendAndLoad("sendmail.php", v, "POST");
};
but_mc.onPress = function():Void {
sendMail(name_txt.text, mail_txt.text, message_txt.text);
};
С большой буквы пишут только имена классов и интерфейсов. Все останольное с маленькой.

DJ_Baton
22.05.2008, 21:20
Спасибо, всё работает с сайта отлично, шлёт письма в юникоде как положено

СлаваRa
05.06.2008, 16:05
в чем может быть проблема, при использовании этого же скрипта как as так и php, если письма с сайта не отправляются?