Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   XML (http://www.flasher.ru/forum/forumdisplay.php?f=23)
-   -   XML.send() (http://www.flasher.ru/forum/showthread.php?t=21494)

BigIlya 17.10.2001 18:44

XML.send()
 
Люди, помогите глупому чайнику!

Как работает функция XML.send(URL), что она посылает по этому самому URL. И еще если можете дайте самый простенький примерчик (или ссылку) Как посредством этой функции связать Flash и серверный скрипт (язык безразличен, попробую понять).

PS: Просьба не издеваться. :)

whiteagle 17.10.2001 20:44

посылает твой объект. на сервере ты этот объект обрабатываешь как и любое другое что пришло, ты ведь когда из формы что-либо постишь скрипту знаешь как это обрабатывать. или нет ? :)
вообщем получаешь объект, парсишь его ну и все нормально.

BigIlya 18.10.2001 10:40

Ну хорошо...
 
Ладно, покажу как я это делал, подскажите, в чем я неправ:

1) На кнопку в Flash вешаю следующий код:
loginXML = new XML();
loginElement = loginXML.createElement("LOGIN");
//username и password имена текстовых полей
loginElement.attributes.username = username;
loginElement.attributes.password = password;
loginXML.appendChild(loginElement);
loginXML.send("http://localhost/php/test.php");

2) Вот пример соответсвующего PHP скрипта (в нем я пытаюсь посмотреть все переменные переданные скрипту или методом POST или методом GET, и вывожу эти переменные в файл test_out.txt):
<?
$file = fopen('test_out.txt', 'w');

$k=@array_keys($HTTP_POST_VARS);
fputs($file, 'HTTP_POST_VARS'. "\n");
for($i=0; $i<count($k); $i++) {
fputs($file, $k[$i] . ' => ' . $HTTP_POST_VARS[$k[$i]]);
}

$k=@array_keys($HTTP_GET_VARS);
fputs($file, 'HTTP_GET_VARS');
for($i=0; $i<count($k); $i++) {
fputs($file, $k[$i] . ' => ' . $HTTP_GET_VARS[$k[$i]]);
}
fclose($file);

?>

Ну пусто в файле :(( Что же тогда Flash передает, где объект то? Кстати отвечать я Flash'у научился , а вот принять от него что-либо пока не могу, а жаль...

BigIlya 18.10.2001 17:58

Ну хотя бы...
 
Персонально Белому Орлу, просьба. Пожалуйста нарисуй хоть какой нибудь скрипт, который мог бы проанализировать вышеуказанные переменные user и password (переданные как атрибуты элемента LOGIN (см. выше). Пожалуйста! А то всю голову изломал, уже побывал даже www.actionscript.com :(

whiteagle 18.10.2001 18:20

сейчас под рукой у меня нет рабочего примера. все предельно просто:
у тебя есть хмл объект. у него есть имя. когда ты говоришь myXML.send(url); POST'oм идет строка myXML, но по формату это именно СТРОКА. это все равно что myXML='tralala';
В скрипте (на сервере) создаешь новый ХМЛ-объект. Как именно зависит от скрипта (ASP, JSP, CGI, PHP) , у них у всех различные парсеры, поэтому и методы создания различны. В методах объекта есть метод "загрузить". В качестве аргумента ты можешь поставить или имя файла (урл *.хмл) или хмл-строку. Вот нашу строку туда и вставляешь.

BigIlya 19.10.2001 12:41

Разобрался!
 
Ну во первых, большое спасибо whiteagl'у (пример конечно не привел), но навел на мрачные размышления ;) . А причина была в следующем: Вместо Publish Preview -> HTML я тестировал сцену сразу Control -> Test Movie. А в этом случае POST' ом ничего не передается. Ну а собственно строку я извлек следующим способом (в Perl):

open(F, ">xml_str.txt");
@params = $query->param();
$xml_str = "$params[0]=" . $query->param($params[0]);
print F $xml_str;
close(F);

Может, кто знает другой способ?

BigIlya 22.10.2001 11:00

Вот как правильно...
 
На Perl:

print "Content-type text/html\n\n";
sysread(STDIN, $xml, $ENV{'CONTENT_LENGTH'});
# теперь в $xml то что нам надо

И ничего более....


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

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