Вход

Просмотр полной версии : Flahs+php=email работает, но хочется лучше


solo19770701
10.10.2007, 05:25
Всем доброго времени суток. Еще раз спасибо за помощь в педыдущем топике :) . Как говорится вопросов всегда много, а ответов пропорцианально не хватает. Вобщем ситуация - у меня есть флеш который отправлят писма с вебсайта на мой почтовик через php. Но дело в том что недавно нашел оч хороший пример оч хорошей формы с проверкой введенной информации, емайла и проверкой отпавлено ли было письмо или нет. Скрипт корорый я использую сейчас примитивный, в нем три глобалных переменных и все, НО ВСЕ РАБОТАЕТ. Новый скрипт содержит все тоже самое только с добавками. При использовании нового скрипта - говорит что все отправлено, но никаких писем на мой емайл не приходит. Это поверхостное описание. А теперь хочу приложить сравнительные детали.
Вот это скрипт из первой флешки
//При нажатии на кнопку запускаем функцию F_sendMail
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("mail.php", "POST");
};
// Что бы не было проблем с кодировкой при передачи текста php
System.useCodepage = true;
вот здесь php код который идет в комплекте

<?php
$name = $_POST['name'];
$mail = $_POST['mail'];
$message = $_POST['message'];
mail("myemail@tra-la-la.ru","Сообщение с сайта","От кого : $name\nE-mail : $mail\nСообщение : $message");
?>
Заметьте все работает. Ниже, что я хочу сделать, и что работает так-сказать на половиту, т.е. сообщение об успешной отправке я вижу, но емайл никогда до меня не доходит.
Вот пожалуйста код из флешки

var dataSender:LoadVars = new LoadVars();
var dataReceiver:LoadVars = new LoadVars();

submit_mc.onRelease = function() {
dataSender.name = name_txt.text;
dataSender.email = email_txt.text;
dataSender.subject = subject_txt.text;
dataSender.message = message_txt.text;
//callback function - how to handle what comes abck
dataReceiver.onLoad = function() {
if (this.response == "invalid") {
mainTL.gotoAndStop(1);
alert_txt.text = "Please check email address - does not appear valid."
} else if (this.response == "passed") {
mainTL.gotoAndStop(4);
}
}
dataSender.sendAndLoad("processEmail.php", dataReceiver, "POST");
} else {
//warning if they try to submit before completing
alert_txt.text = "Please complete all fields before submitting form.";
}
}
а зесь код из прилагаемого в комплекте php скрипта

<?php

//create short variable names
$name=$_POST['name'];
$email=$_POST['email'];
$subject=$_POST['subject'];
$message=$_POST['message'];
$name=trim($name);
$email=trim($email);
$subject=StripSlashes($subject);
$message=StripSlashes($message);

$toaddress='myemail@tra-la-la.com';


if (preg_match ("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|c l|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs |gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md |mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr |pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|u m|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i", $email)) {
mail($toaddress,$subject,$message,"From: $name <$email>\r\nReply-To: $email\r\nReturn-Path: $email\r\n");
//clear the variables
$name='';
$email='';
$subject='';
$message='';
echo "response=passed";
} else {
echo "response=invalid";
exit;
}

?>
Код из флашек взят не полностью, т.е. спецификации кнопок, текстовых полей я не вкючил. Пытаюсь донести только основную часть. А здесь в архиве phpinfo с сервера моего провайдера, это так на всякий случай. В php я полный ноль, прошу помощи у форумчан. И просьба не отсылать меня в часто задваемые вопросты или еще куда, там я уже был.:cool: