Просмотр полной версии : Передача данных c Flash в РНР?
Вроде все правельно а файл рнр не хочет показывать значение передаваемое в переменной ....
Во флэше:
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'];
?>
Что такое 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;
};
а так?
Уважаемые нехочет никак, вот исходник, если не сложно гляньте пожалуйста....
Развернуто, наглядно и просто и вопросов не будет:
Предположим, мы хотим отправить кое-что на сервер и получить ответ обратно во Флэш.
Например, мы хотим получить сумму двух чисел.
Пишем такой рнр скрипт:
Код (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
Вот если б не знал как делать хрен бы разобрался в этом примере.
dracs, отредактируйте свой пост и оформите код тегами .
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.