Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Flash форма + ПХП (http://www.flasher.ru/forum/showthread.php?t=116395)

Andriucha 29.09.2008 17:06

Flash форма + ПХП
 
Проблема у меня такая, есть форма во флаше, которая передаёт переменные методом ПОСТ на пхп фаил в корневом каталоге, пхп файл (mail.php) высылает письмо. Все вроде работает. Но мне нужно сделать стобы флаш обращялся не на mail.php, а на другой сервер, например http://www.drugojdomain.ru/email.php . Почему то когда я меняю адресс на другой сервер ничего не работает. В чем проблема

КОД:
Код:

on (release) {

loadVariablesNum("http://www.drugojdomain.ru/email.php", 0, "POST");

}


Mur4ik 29.09.2008 17:25

Вложений: 1
а как Вы, интересно, передаете данные формы из флеша в php c помошью loadVariablesNum?
эта функция совсем не для этого предназначена, она для загрузки переменных в флеш из внешних источников, а не наоборот...
вот рабочая форма для емейла php+flash

Andriucha 29.09.2008 18:22

Цитата:

Сообщение от Mur4ik (Сообщение 767072)
а как Вы, интересно, передаете данные формы из флеша в php c помошью loadVariablesNum?
эта функция совсем не для этого предназначена, она для загрузки переменных в флеш из внешних источников, а не наоборот...
вот рабочая форма для емейла php+flash

Не рфботает и твоя форма, во первых в пхп ошибка, во вторых все равно не пашет. Нажимаешь кнопку сенд и ничего не меняется.

Код:

stop();

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

cbtSend.addEventListener("click", oSubmitListener);

oSubmitListener.click = function(evt:Object):Void
{
        trace("ok");

        lvSenderLoad.userName = ctiName.text;
        lvSenderLoad.userEmail = ctiEmail.text;
        lvSenderLoad.userMessage = ctaMessage.text;
        lvSenderLoad.sendAndLoad("http://www.isparduodame.lt/m_email.php", lvReceiveLoad);
};

lvReceiveLoad.onLoad = function(bSuccess:Boolean):Void
{
        if(bSuccess) {
                this.isSentOK ? gotoAndStop("success") : gotoAndStop("failed");
        } else {
                trace("не удалось получить ответ от сервера");
        }
}


xAnToNYx 29.09.2008 19:43

Помоему можно и через loadVariables
Код:

loadVariables ("http://site.com/send_mail.php?subject="+_root.subject+"&message="+_root.message, _root);
В результате пусть скрипт нам возвращает "result=sent" или "result=error"

Mur4ik 29.09.2008 20:17

Вложений: 1
Поправляюсь...
в PHP забыл точку с запятой поставить в 4 строчке,
а в FLA имя кнопки отличалось от указанного в обработчике

проверил - работает

updated:

очень уж много писем мне на почту приходит с данной формы, поэтому внесу поправочку, в php файле нужно вместо моего мейла указать ВАШ, и залить все это на ваш хостинг, а так получается, вы тестируете форму но письма приходят мне )

Andriucha 30.09.2008 12:25

Цитата:

Сообщение от Mur4ik (Сообщение 767120)
Поправляюсь...
в PHP забыл точку с запятой поставить в 4 строчке,
а в FLA имя кнопки отличалось от указанного в обработчике

проверил - работает

ну форма тепер высилает письма, только вот данные почему то не передаются... Что делать??? :rolleyes:

Почему то когда в компе запускаю все работает, а вот когда на сайт вставляю, при нажатии ОТПРАВИТЬ ничего не меняется но приходит пустое писмо.

Mur4ik 30.09.2008 17:39

Незнаю в чем Ваша проблема, у меня приходят письма как положено, только сначала они в спам помещались, указал письма со своего хостинга как "не спам" и все ОК...

А Вы адрес ящика в php файле поменяли, а то мне от Вас письма приходят, и кстати не пустые )

KPG 19.03.2010 22:00

Andriucha
вижу что тема старая, но сам искал примеры работы с формами на Flash и наткнулся на нее, поэтому отвечу, т.к. наверняка еще кто-то столкнется с этой проблемой.

скорее всего вы в php скрипте не принимаете переменные
допишите в самом начале php скрипта следующее:
Код:

//получаем все переменные POST и GET
$be_var = $_POST;
foreach ( $be_var as $key => $value ) {
$$key = trim(strip_tags($value));
}
$be_var = $_GET;
foreach ( $be_var as $key => $value ) {
$$key = trim(strip_tags($value));
}

и всё у вас будет работать :-)

Mur4ik
Спасибо за наглядный пример!

Seroy 20.03.2010 00:04

Цитата:

Сообщение от Andriucha (Сообщение 767244)
ну форма тепер высилает письма, только вот данные почему то не передаются... Что делать??? :rolleyes:

Почему то когда в компе запускаю все работает, а вот когда на сайт вставляю, при нажатии ОТПРАВИТЬ ничего не меняется но приходит пустое писмо.

может, в кодировках проблема?
действительно, глянул скрипт - переменные из POST/ GET не прописаны.

Vikky 12.08.2010 16:54

Я переписала грамотно форму отправки PHP, если кому то понадобится!!!

Вот форма.
теперь можно использовать жирный и переходить на новую строку....
теперь работает с русским в любом случае....
ну и добавляем поля по желанию, разобраться не сложно...


PHP код:

<?php
//$headers .= "Content-type: text/plain; charset=UTF-8\r\n"; 
$headers .= 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/html; charset=UTF-8' . "\r\n";
$be_var = $_POST;
foreach ( 
$be_var as $key => $value ) {
$
$key = trim(strip_tags($value));
}
$be_var = $_GET;
foreach ( 
$be_var as $key => $value ) {
$
$key = trim(strip_tags($value));
}
    
// адрес куда отсылать сообщение
    
$to = "---------------ВСТАВИТЬ EMAIL КУДА СЛАТЬ------------";

    
// тема сообщениея
    
$subject = "----------ТУТ ТЕМУ СООБЩЕНИЯ----------------";
    
$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';

    
// формируем сообщение
    
$message .= "<b>Имя отправителя</b>: " . $userName;
    
$message .= "<br><br><b><i>КОНТАКТНЫЕ ДАННЫЕ</b></i><br><b>E-mail отправителя</b>: " . $userEmail;
    
$message .= "<br><br><i><b>СООБЩЕНИЕ</i></b>:<br> " . $userMessage;

    
// формируем заголовок
    
$headers .= "From: $userEmail";

    
// посылаем почту
    
$isSentOK = mail($to, $subject, $message, $headers);
    
    
// предаем пременную $isSentOK, которую считываем во Флеше
    
echo "isSentOK="  .  $isSentOK;
?>



Часовой пояс GMT +4, время: 17:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.