Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для the_nokard
2 / 2 / 2
Регистрация: 15.02.2015
Сообщений: 22
AS 3.0

Получение переменных из генерируемого на сервере xml с помощью as3

15.02.2015, 19:52. Показов 1337. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Flash не может взять xml переменную.
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
stop();
//================================================================
import flash.net.*;
import flash.events.*;
//================================================================
button_enter.addEventListener(MouseEvent.CLICK, enterToType);
//================================================================;
var confirmed:String;
var fullname:String;
var email:String;
var xmlVar:XML;
//================================================================
 
function enterToType(e:MouseEvent) {
    var loader:URLLoader = new URLLoader();
    var request_:URLRequest=new URLRequest("http://newground.hol.es/mailRemember/index.php");
    var variables:URLVariables = new URLVariables();
    variables.login=login.text;
    variables.pass=password_.text;
    request_.data=variables;
    request_.method=URLRequestMethod.POST;
 
    loader.dataFormat=URLLoaderDataFormat.VARIABLES;
    loader.addEventListener(Event.COMPLETE, completeHandler);
    loader.load(request_);
 
    function completeHandler(evt:Event) {
        xmlVar=new XML(evt.target.data);
        trace(xmlVar);//output: "%3C%3Fxml%20version=%221%2E0%22%20encoding%3D%22UTF%2D8%22%3F%3E%0A%3Cuser%20id%3D%271%27%3E%0A%09%3Cconfirmed%3E1%3C%2Fconfirmed%3E%0A%09%3Cfullname%3E%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9%3C%2Ffullname%3E%0A%09%3Cemail%3EKobetc%2Erey8%40gmail%2Ecom%3C%2Femail%3E%0A%3C%2Fuser%3E" - перевод с hex - "<?xml version="1.0" encoding="UTF-8"?><user id='1'>    <confirmed>1</confirmed>    <fullname>Андрей</fullname>   <email>Kobetc.rey8@gmail.com</email></user>"
        fullname=xmlVar.fullname.text();
                trace(fullname);//output: " " - ничего
        
    }
}
Мне нужен fullname для обработки.

В скрипте присутствует php часть, но с ней всё в порядке(Ошибок нет, информация - верная):
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
include 'main.php';
$login=$_POST['login'];
$pass = $_POST['pass'];
$arr = loginForProgramm($login, $pass);
if($arr){
    $returnVars = array();
    $returnVars['confirmed'] = $arr[0];
    $returnVars['fullname'] = $arr[1];
    $returnVars['email'] = $arr[2];
    logInsert("ENTERED", $login);
}else{
    $returnVars = array();
    $returnVars['confirmed'] = false;
    $returnVars['fullname'] = "гость";
    $returnVars['email'] = "";
    logInsert("TRYED_ENTER_FOR ".$login, "stranger","browser","failedLogins");
}
 
 
$returnString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$returnString .= "<user id='1'>\n";
$returnString .= "\t<confirmed>".$returnVars['confirmed']."</confirmed>\n";
$returnString .= "\t<fullname>".$returnVars['fullname']."</fullname>\n";
$returnString .= "\t<email>".$returnVars['email']."</email>\n";
$returnString .= "</user>";
?>
main.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?
//=============Подключение к dbuf-файлам=======================
function connect(){
    $file = file("userlibs/pass.dbuf");
    return $file;
}
 
//=============Вход для программ (локальных)===================
function loginForProgramm($login, $pass){
    $arr = connect();
    foreach ($arr as $value){
        $value = explode("%%", $value);
        if (($value[0] == $login && $value[1] == $pass) || ($value[2] == $login && $value[1] == $pass)){
            $conf = array(true, $value[3], $value[2]);
            return $conf;
            break;
        }
    }
return false;
}
//=============Вход для работы с PHP===========================
function loginForPhp($login){
    $arr = connect();
    foreach ($arr as $value){
        if ($value[0] == $login){
            return $value;
            break;
        }
    }
    return false;
}
//=============Занесение сторки в лог файлы====================
function logInsert($text, $who, $from = "programmSWF", $log = "system"){
    $log = "logs/".$log.".log";
    $fp = fopen ($log, "a");
    $now = date("d-m-Y(H:i:s):D");
    if ($from == "browser"){
        $browser =  $_SERVER['HTTP_USER_AGENT'];
    }else{
        $browser = "none";
    }
    fwrite($fp, $now."    ".$who."(".$_SERVER['REMOTE_ADDR'].")    ".$from."    ".$text."    ".$browser.";\n");
    fclose($fp);
}
?>
В actionscritXML я новичёк, как впрочем и в самом xml.
Что не так?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.02.2015, 19:52
Ответы с готовыми решениями:

xmlhttp получение xml на сервере
Добрый день! Возникла такая проблема: отправляю с помощью xmlhttp из клиентского кода на сервер xml: ...

as3 + xml
здравствуйте программисты as3. Есть замечательны исходник, работает отлично, но хотелось бы добавить ему действий. as3 берет данные из xml...

Связь AS3 с БД MySQL (получение и отправка данных)
Как можно из AS3 отправить в MySQL БД данные и получить оттуда же?

6
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
16.02.2015, 16:04
Лучший ответ Сообщение было отмечено the_nokard как решение

Решение

Цитата Сообщение от the_nokard Посмотреть сообщение
Что не так?
А хз, вы даже текст ошибки не показываете.

Не по теме:

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

1
 Аватар для the_nokard
2 / 2 / 2
Регистрация: 15.02.2015
Сообщений: 22
16.02.2015, 18:08  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
А хз, вы даже текст ошибки не показываете.
Там ошибки никакой нет... Просто переменная = null(" "), хоть серверная часть работает нормально (actionscript не видит xml - переменные).
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
16.02.2015, 19:26
Лучший ответ Сообщение было отмечено the_nokard как решение

Решение

Цитата Сообщение от the_nokard Посмотреть сообщение
(actionscript не видит xml - переменные)
Нет такого понятия "xml - переменные".
Посмотрел еще раз более подробно ваш вывод в трэйс. Судя по всему xmlVar является строкой и при приведении типа к XML она становится null. Проблема в кодировке.
Приведите на сервере всякие "%221%2E0%22%20" к естественному для xml виду. Форматируйте в utf-8.
1
 Аватар для the_nokard
2 / 2 / 2
Регистрация: 15.02.2015
Сообщений: 22
16.02.2015, 21:11  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
Форматируйте в utf-8.
Изначально.
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
16.02.2015, 21:46
Лучший ответ Сообщение было отмечено the_nokard как решение

Решение

the_nokard, это хорошо, но показанные строки не соответствуют формату xml.
1
 Аватар для the_nokard
2 / 2 / 2
Регистрация: 15.02.2015
Сообщений: 22
17.02.2015, 18:29  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
показанные строки не соответствуют формату xml.
Как я говорил раньше:
Цитата Сообщение от the_nokard Посмотреть сообщение
В actionscritXML я новичёк, как впрочем и в самом xml.
Но мне кажется, что:
XML
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<user id='1'>
    <confirmed></confirmed>
    <fullname></fullname>
    <email></email>
</user>
это стандартный простой xml - документ...

Добавлено через 2 часа 13 минут
Всё... Я разобрался. В чём была ошибка я так и не знаю, но код, после того,как я его заново переписал - работает!
Если у вас такая же проблема, то вот код связи ACTIONSCRIPT и PHP в ОБЕ СТОРОНЫ:
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
stop();
//================================================================
import flash.net.*;
import flash.events.*;
//================================================================
button_enter.addEventListener(MouseEvent.CLICK, connect);
//================================================================;
var confirmed:Boolean;
var fullname:String;
var email:String;
//================================================================
 
function connect(e:MouseEvent) {
    var request:URLRequest=new URLRequest("http://newground.hol.es//mailRemember/swfProgramm.php");
 
 
    request.method=URLRequestMethod.POST;
    var loader:URLLoader = new URLLoader();
    loader.dataFormat=URLLoaderDataFormat.VARIABLES;
    loader.addEventListener(Event.COMPLETE, completeHandler);
    
    var variables:URLVariables = new URLVariables();
        //сюда ваши переменные, которые надо отправить на сервер
        //конец переменных
    request.data=variables;
    
    loader.load(request);
 
    function completeHandler(evt:Event) {
                //сюда ваши переменные, которые надо получить с сервра, в формате var name = evt.target.data.phpName например:
        //var conf = evt.target.data.confirmed;
    }
}
И PHP
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?
//переменные, получаем в формате $name = $_POST['ASname']; Например:
//$login=$_POST['login'];
 
//yourcode
 
//формируем ответ от php в формате $returnVars['name'] = $variable; например
//$returnVars['fullname'] = $fullname;
 
$returnString = http_build_query($returnVars);
echo $returnString;
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2015, 18:29
Помогаю со студенческими работами здесь

Как отправить на сервер xml запрос с помощью post и получить ответ в xml?
нужно отправить на сервер xml запрос с помощью post и получить ответ в xml, погуглил нашел примеры, осталось лишь проверить примеры на...

Парсинг XML-файла с помощью LINQ to XML
Здрасивуйте. Трабл никак не могу понять в чем дело не могу считать инфу с XML login, getWorkersOUs надо записать в textBox а все c...

Получение изображение на сервере
Добрый день! Как получить изображение, которое приходит на сервер POST-запросом? И как проверить его размер?

Получение файла на сервере
помогите пожалуйста дописать код для получения файла на эхо сервере. моя программа получает текст, но проблема с получением файла....

Получение скриншота на удаленном сервере
Доброго времени! Может подскажет кто. По rdp присоединяюсь к удаленной машине WinServ2012R2. Запускаю свою программу и если она падает -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru