PDA

Просмотр полной версии : Передача данных c Flash в РНР?


forward
13.08.2007, 15:14
Вроде все правельно а файл рнр не хочет показывать значение передаваемое в переменной ....

Во флэше:

lv = new LoadVars();
lv.greeting = "hello world!";
lv.sendAndLoad("http://test5.ru/mail1/sending.php", lv, "POST");
lv.onData = function(data) {
txt = data;
};

РНР файл:

<?php
echo $_POST['greeting'];
?>

Kikasso
13.08.2007, 15:33
Что такое txt?
Попробуйте сперва объявить onData, а потом делать sendAndLoad

CrazyFlasher
13.08.2007, 15:43
lv = new LoadVars();
lv2 = new LoadVars();
lv.greeting = "hello world!";
lv.sendAndLoad("http://test5.ru/mail1/sending.php", lv2, "POST");
lv2.onData = function(data) {
txt = data;
};


а так?

forward
13.08.2007, 16:26
Уважаемые нехочет никак, вот исходник, если не сложно гляньте пожалуйста....

dracs
19.08.2007, 03:10
Развернуто, наглядно и просто и вопросов не будет:

Предположим, мы хотим отправить кое-что на сервер и получить ответ обратно во Флэш.
Например, мы хотим получить сумму двух чисел.
Пишем такой рнр скрипт:

Код (cохраняем в фале summa.php там где его увидит флэш
для опытов - ложить в корень


<?
// summa.php
echo $_REQUEST['number_1']+$_REQUEST['number_2'];
?>


А во флеше пишем:


Код


function mySummFromPhp() {

// создаем объект для связи с сервером:
var get_from_php:LoadVars = new LoadVars();
// вписываем переменные, которые хотим отправить:
get_from_php.number_1 = 5;
get_from_php.number_2 = 3;
// обработчик (произойдет, когда данные с сервера вернутся):
get_from_php.onData = function(data){
if(data == null){
trace("связь с сервером потерялась!");
}else{
trace("сумма чисел равна "+data);
}
}
// отправляем:
get_from_php.sendAndLoad(
'http://example.com/summa.php', // к кому обращаемся?
get_from_php, // какой объект среагирует? Пишем себя.
'POST' // метод.
);
}




Для того, чтобы начать применять - нада поюзать. Итак, в слое, на
котором лежит actionscript (отмечен буковкой греческого алфавита: альфа) помещаем указанный код функции, и делаем ее вызов:


mySummFromPhp()


Трассер выдаст решение указанного вопроса.
Если Вы предаете во флэш данные в текстовом формате -не забываем в коде php эху сделать правильно и дать русские буковки cp1251 например в кодировке UTF-8 иначе Вы во флэше получите кракозябры.


echo iconv("cp1251", "UTF-8", "$ИмяПеременнойPHP");


После того, как понял механизм - то уже не трассируете возвращаемые значения со скрипта php - собственно скрипт может быть любым - а уже присваиваете нужным Вам переменным и все дела.

Надеюсь все понятно.

†‡Paladin‡†
19.08.2007, 03:23
Вот если б не знал как делать хрен бы разобрался в этом примере.

etc
19.08.2007, 17:45
dracs, отредактируйте свой пост и оформите код тегами .