Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Получение переменных от сервера. (http://www.flasher.ru/forum/showthread.php?t=194865)

fduch 23.02.2013 21:22

Получение переменных от сервера.
 
Начал разбираться с mysql+php+flash
Все вроде путем, тока недогоняю как их пхп забрать данные.
Код AS3:

 
                      package {
 
                          import flash.events.Event;
                          import flash.net.URLLoader;
              import flash.text.*;
              import flash.display.Sprite;       
              import flash.net.URLRequest;
              import flash.net.URLVariables;
              import flash.net.sendToURL;   
                import flash.events.MouseEvent;
                import flash.net.*
 
 
 
 
    public class Main extends Sprite {
                                public function Main() {
                                var url:String = "http://bjiactb.60ru.com/3.php";
                                var variables:URLVariables = new URLVariables();
 
 
                                variables.id =  1
                                variables.corx = 1;
                                variables.cory = 1;
                                variables.hp = 100;
                                variables.exp = 100;
 
                              var request:URLRequest = new URLRequest(url);
                              request.data = variables;
 
 
            try {
                sendToURL(request);
            }
 
 
            catch (e:Error) {
                // обработчик ошибок
            }         
 
 
 
 
 
 
 
        }
    }
}

Это собсно, для отправки данных в скрипт(хотя почитал форум, это вроде как не очень правильный способ, везде по другому))) но не суть.
Сейчас уже несколько часов бьюсь с тем, чтобы получить данные от скрипта, может моЗГ не от туда растет?
Везде натыкаюсь на loadVariables, но эту команду девелопер незнает)

Подскажите плс.

Добавлено через 1 час 6 минут
Промучился час с sendandload.. тоже без результатно.
хелп

Добавлено через 1 час 42 минуты
мм.... Вычитал, что в ас3 все это делается через урллоадер...

caseyryan 23.02.2013 23:07

Скрипт должен отправлять ответ в виде http query, то есть пар ключ=значение
можно простейший пример написать, например так:
PHP код:

<?php
      $arr 
= array();
      
$arr['test1'] = 23;
      
$arr['test2'] = "someWord";
      echo 
http_build_query($arr); // создает из массива нужную строку test1=23&test2=someWord и шлет ее клиенту
?>

А на счет запросов из самой флешки, тут можно глянуть
http://www.flasher.ru/forum/showthread.php?t=194791

fduch 23.02.2013 23:32

Как из скрипта то отправить я понимаю, мне не принять, точнее я принимаю, тока принимается весь файл целиком, а не только переменные.

Добавлено через 2 минуты
А по ссылке много сложного(для меня кода), мне бы 3и строчки с переменной, урлом, и лоадом) и чтобы работало))

caseyryan 24.02.2013 10:13

Цитата:

А по ссылке много сложного(для меня кода),
Ничего там сложного нет. Приедтся разбираться, если нужно, чтобы работало.
Цитата:

мне бы 3и строчки с переменной, урлом, и лоадом) и чтобы работало))
Ну, тогда удачи в поисках )

fduch 24.02.2013 14:06

Вот в том то и дело, что в любом случае надо разбираться!
Нужна база! Код без излишеств, который выполняет конкретно свою задачу.
Я вот на дергал куски кода и смонстрячил выдяргивалку переменных из пхп, тока я непонимаю как половина работает. зачем оно такое?
Код AS3:

                        package {
 
                          import flash.events.Event;
                          import flash.events.IEventDispatcher;
                          import flash.net.URLLoader;
              import flash.text.*;
              import flash.display.Sprite;       
              import flash.net.URLRequest;
              import flash.net.URLVariables;
 
              import flash.net.sendToURL;    // я подключил все библиотеки, которые просил компилятор.
                                  import flash.events.MouseEvent;
                                import flash.net.*
//                                import net.kaegi.loaders.VarLoader;
 
 
 
 
    public class Main extends Sprite {
                                public function Main() {
 
 
var url:String = "http://bjiactb.60ru.com/test.php";
var request:URLRequest = new URLRequest(url);
request.method = URLRequestMethod.POST;
var save:URLVariables = new URLVariables();
 save.id = 10;
 save.hp = 1;
 
request.data = save;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES
 
 
configureListeners(loader);
try {
loader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
 
function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}
function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
 
trace("completeHandler: " + loader.data);
var load:URLVariables = new URLVariables(loader.data);
 
trace(load.var1);
trace(load.var2);
trace(load.var3);
 
 
 
}
 
 
 
 
 
        }
    }
}

Засылаем данные save, получаем данные в load.
-----
Что делает команда
Код AS3:

configureListeners(loader);

Для чего надо
Код AS3:

function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}

есть мнение, что оно просто ждет пока пхп выдаст данные, но сути "ИЕвентДиспетсчер" я незнаю.
----
И в догонку вопрос, из пхп приходят переменные кроме первой. как лечить?
PHP код:

<?php

$id 
$_POST['id'];
$hp $_POST['hp'];
$result=$id+$hp;

echo 
"var0=0&var1=$result&var2=$hp&var3=$id&";
?>

var0 приходит как неопределено.

udaaff 24.02.2013 14:28

Еще более коряво код нельзя было оформить? Чтобы тем, кто вам помогать будет, еще тяжелее было его читать.

caseyryan 24.02.2013 14:59

Цитата:

но сути "ИЕвентДиспетсчер" я незнаю.
Это интерфейс. Данная функция может принимать в качестве аргумента любой объект применяющий интерфейс IEventDispatcher

Цитата:

И в догонку вопрос, из пхп приходят переменные кроме первой. как лечить?
Что значит "неопределено"? То, что trace(var0) может выдать false, вполне лоигично.
Там же значение переменно = 0. А известно что 1 - true, а 0 - false
Или он выдает null / undefined ?

fduch 24.02.2013 20:57

Цитата:

Сообщение от udaaff (Сообщение 1122170)
Еще более коряво код нельзя было оформить? Чтобы тем, кто вам помогать будет, еще тяжелее было его читать.

Это не мой код, это куски "вашего" с форума

Добавлено через 2 минуты
Цитата:

Сообщение от caseyryan (Сообщение 1122171)
Это интерфейс. Данная функция может принимать в качестве аргумента любой объект применяющий интерфейс IEventDispatcher

Для чего оно?
Цитата:

Сообщение от caseyryan (Сообщение 1122171)
Что значит "неопределено"? То, что trace(var0) может выдать false, вполне лоигично.
Там же значение переменно = 0. А известно что 1 - true, а 0 - false
Или он выдает null / undefined ?

там раньше не 0 был, 0 я поставил, просто чтобы первая переменная не несла смысловую нагрузку.
пишет undefined

udaaff 24.02.2013 21:45

Раз вам тяжело поправить свои сообщения, то учимся оформлять код.


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

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