Форум 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 и php прием и отправка одновременно (http://www.flasher.ru/forum/showthread.php?t=138297)

KVinS 03.04.2010 22:14

Flash и php прием и отправка одновременно
 
Здраввствуйте вот в чём у меня суть кода:
Я из флеша отправляю переменные в пхп
Там они обрабатываются, создаются новые переменные
И вот как мне их тут-же принять?
Ведь если сделать новый запрос пхп обнулится

mooncar 03.04.2010 22:17

Смотрите метод sendAndLoad класса LoadVars - это то, что вам нужно.
Откройте для него хелп, посмотрите его аргументы и пример использования.

KVinS 03.04.2010 22:43

Это я знаю
Я не смог всё это "собрать"

mooncar 03.04.2010 23:02

А в чем сложность-то?
Создаете два экземпляра LoadVars.
Формируете переменные для передачи скрипту и назначаете их первому экземпляру.
Вызываете из первого экземпляра LoadVars скрипт (указывая для получения экземпляр-получатель и метод - GET или POST).
Для экземпляра-получателя записываете функцию onLoad для разбора полученных переменных.
Скрипт должен отдавать строку вида var1=value1&var2=value2...

Возьмите пример из хелпа и повторите его.
Скрипт для примера самый простой напишите - типа, что получили, то и отдали...
Справитесь с этим - и свое добьете.
Для простоты пусть все значения строковые будут передаваться скрипту.

Elidan 03.04.2010 23:03

Отправляем запрос из flash
Код AS1/AS2:

mov_data.loadVariables("script.php", "POST")

в пхп пишешь:
PHP код:

echo "переменная1=значение1&переменная2=значение2&переменнаяN=значениеN"

далее выводим полученные данные в flash output
Код AS1/AS2:

mov_data.onData = function(){
    trace(mov_data.переменная1);
    trace(mov_data.переменная2);
    trace(mov_data.переменнаяN);
}


mooncar 03.04.2010 23:07

Не учите плохому - loadVariables не надо использовать, это устаревший метод.
К тому же loadVariables не имеет событий, которые можно обработать. Поэтому и ввели LoadVars с возможностью отслеживания получения данных - onLoad или onData.

KVinS 03.04.2010 23:24

Код AS1/AS2:

var a1 = new LoadVars();
        var a1 = 1;
        var a1 = new LoadVars();
        var otvet2 = new LoadVars();
        a1.sendAndLoad("http://test1.ru/news.php",otvet2,"POST");
        otvet2 = otvet2;

А дальше?

mooncar 03.04.2010 23:24

Флеш:
Код AS1/AS2:

var send_lv:LoadVars = new LoadVars();
send_lv.testVar  = 'Это тест';
 
var result_lv:LoadVars = new LoadVars();
 
result_lv.onLoad = function(success:Boolean) {
        if (success) {
                trace(this.testReply); //this ссылается на result_lv
        }
};
 
send_lv.sendAndLoad('http://site.ru/test.php', result_lv, 'POST');

Скрипт test.php:
PHP код:

<?php
$testVar 
$_POST['testVar'];
$testReply 'Отклик:'.$testVar;
echo 
'testReply='.$testReply;
?>

Судя по вашему коду в посте 7, вы не очень понимаете сути.
Создается экземпляр LoadVars и ему придаются переменные (переменные и их значения).
При использовании метода sendAndLoad эти переменные передаются скрипту.
Скрипт получает их и извлекает из запроса POST.
И в обратном порядке....

Скрипт отрабатывается и выводит строку, флеш получает от него эти пары "переменная=значение".
Эти пары разбираются в функции-обработчике onLoad второго экземпляра.

KVinS 03.04.2010 23:25

ответили пока писал
кстати лоадвариблес я тоже думал, но там же все переменные

mooncar 03.04.2010 23:36

Для нескольких:
Код AS1/AS2:

var send_lv:LoadVars = new LoadVars();
send_lv.testVar1  = 'Это тест1';
send_lv.testVar2 = 'Это тест2';
 
var result_lv:LoadVars = new LoadVars();
 
result_lv.onLoad = function(success:Boolean) {
        if (success) {
                trace(this.testReply1); //this ссылается на result_lv
                trace(this.testReply2);
                trace(this.newVar);
        }
};
 
send_lv.sendAndLoad('http://site.ru/test.php', result_lv, 'POST');

PHP код:

<?php 
$testVar1 
$_POST['testVar1']; 
$testVar2 $_POST['testVar2']; 
$testReply1 'Отклик:'.$testVar1
$testReply2 'Отклик:'.$testVar3
$newVar 'Новая переменная';
echo 
'testReply1='.$testReply.'&testReply2='.$testReply2.'&newVar='.$newVar 
?>



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

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