Форум 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)
-   -   глюк флеша при работе с php? (http://www.flasher.ru/forum/showthread.php?t=91588)

f_nhome 03.02.2007 11:33

глюк флеша при работе с php?
 
Добрый день.Такая вот ситуация непонятная..При работе в 7-ке вроде все ок. xml.load() все грузит без проблем.Стоило установить 8-ку начались проблемы с xml.load() - если грузить файл xml все ок и прекрасно, если попытаться загрузить тот же xml но выданный php-ноль.
подскажите в чем проблема.... а то четвертый день уже мучаюсь и поиск не помогает..........
код:
flash:
Код:

System.useCodepage = true;
_root.loader.text="ini"
trace("ini")
//----------ini------------
sait_xml = new XML();
sait_xml.ignoreWhite = true;
sait_xml.onLoad = function(success:Boolean) {
if (success) {
trace("load all");
_root.loader.text="ok";
F_createSait();
};
};
sait_xml.load("../system/ini.php");
//-------funct------
F_createSait=function()
{
trace("xml:"+sait_xml);
_root.loader.text=sait_xml;
};

php:
Код:

<?
echo '<?xml version="1.0" encoding="windows-1251" ?>';
echo "\n";
echo '<users>';
echo "\n";
echo '<item name="ff" />';
echo "\n";
echo '</users>';
?>

браузер ie на запрос выводит :
Код:

<?xml version="1.0" encoding="windows-1251" ?>
- <users>
  <item name="ff" />
  </users>


CorC 03.02.2007 11:51

незнаю в чем проблема, особо не разбирался, но попробуй так:
выдирай хмл из пхп как строку в некую строковую переменную
потом задавай уже внутри Flash хмл с этой строкой и работай

f_nhome 03.02.2007 12:07

проблема в том, что flash как бы вобще не видит ответ php, так как при включении в файл php кода без <? ... ?> например <data></data>, то этот кусок отображается без проблем... ,а то что находится в <? ... ?> опять пусто......

CorC 03.02.2007 12:10

ну я говорю, приписывайте это потом ручками во Flash
или используйте htmlspecialchars для < >

f_nhome 03.02.2007 12:28

изначально было в php и htmlspecialchars() и iconv('WINDOWS-1251','UTF-8','<?xml version="1.0" encoding="WINDOWS-1251"?>')+ iconv для каждой строки вывода, потом код был упрощен до минимума все равно ничего не работает., и сервер тут вроде не причем, пробовал в разных местах.Нужно загрузить именно xml, т.к. код на php достаточно сложен (выборка из БД, сортировка и т.д) и при загрузке строкой можно просто запутатся , т.к. подгружается от 10 до 100 переменных

f_nhome 03.02.2007 13:27

Цитата:

Сообщение от CorC
используйте htmlspecialchars для < >

проверил не работает :(

причем в trace() и в поле дин. текста выводятся все тестовые сообщения, только вместо загруженого xml пустая строка, хотя флеш сигналит что загрузка "ок" :(

CorC 03.02.2007 14:13

не знаю, щаз попробую, тока без <? ?>
а это потом вставлю...

f_nhome 03.02.2007 15:18

Все очень странно........... перестало работать и в 7-ке. Работают только те флешки, которые были скомпилированы 2-3 месяца назад(до установки 8-ки), причем принцип вывода xml один в один.. Что делать??? :(

CorC 03.02.2007 15:52

ну короче предаю запрос пхп без <? ?>
потом в ринятую строку вперед вставляю это
и создаю хмл, все работает, мб правда упрощенно
но там есть строк 5 точно внутри

f_nhome 03.02.2007 16:11

Цитата:

Сообщение от CorC
ну короче предаю запрос пхп без <? ?>
потом в ринятую строку вперед вставляю это
и создаю хмл, все работает, мб правда упрощенно
но там есть строк 5 точно внутри

я не очень понял как файл php может обрабатывать свой код без <?...?>

CorC 03.02.2007 16:16

я не про то что писал без <?php
он же просто выдет строки
я их читаю, запоминаю во флеш
а потом уже добавляю вперед <? xml
и все

f_nhome 03.02.2007 16:24

У меня почему-то не читает никакие строки созданные на php и выведенные echo или print ни с <?xml version="1.0" encoding="WINDOWS-1251"?> ни без. Во flash приходит пустая строка.:( ничего не могу понять:(
,а если строки созданы не динамически(просто набраны в текстовом редакторе) все ок при любом раскладе и строка приходит и с xml нормально

CorC 03.02.2007 16:27

прости, мы друг-друга не понимаем, я away
я передаю как текст все кроме заголовка
он читает, и потом приписывает заголовок
это уже во флеше и все ок, но все же
htmlspecialchars надо использовать

f_nhome 03.02.2007 16:34

если несложно, то можно пример кода , а то похоже я без него не пойму

f_nhome 03.02.2007 17:06

взято из хелпа
Код:

var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
    if (success) {
    test.text=my_lv;
    trace(my_lv);
    } else {
    trace("Error loading/parsing LoadVars.");
    }
};
my_lv.load("system/ini.php");

trace
Код:

%3C%3F%0D%0Aecho%20%27%3Cdata%3E%27%3B%0D%0Aecho%20%22%3Citem%20name=%27fg%27%20%2F%3E%22%3B%0D%0Aecho%20%22%3C%2Fdata%3E%22%3B%0D%0A%3F%3E&onLoad=%5Btype%20Function%5D
php
Код:

<?
echo '<data>';
echo "<item name='fg' />";
echo "</data>";
?>

такое ощущение, что php вобще не обрабатывается так как в выводе присутствует есho (тестировалось на сервере ехо выводилось в текстовое поле), в IE все нормально обрабатывается.............непонятно:(
P.S. только что проверил sendAndLoad работает также....... в чем же все таки загвоздка?

f_nhome 03.02.2007 20:12

Все перебрал ничего не получается........:( Уважаемые специалисты ПОМОГИТЕ пожалуйста.........
Может во флеше где-то в настройках отключается обработка php(или сторонних скриптов
) при загрузке........других вариантов у меня больше нет :( а очень надо...

lowka 03.02.2007 21:07

Вы хотите увидеть ваш my_lv изнутри? Ну вот вы его и получаете :D
Код:

var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
    if (success) {
    test.text=my_lv;
    trace(my_lv);
    } else {
    trace("Error loading/parsing LoadVars.");
    }
};
my_lv.load("system/ini.php");

Так попробуйте.
Код:

var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
    if (success) {
    test.text = my_lv.status;
    } else {
    trace("Error loading/parsing LoadVars.");
    }
};
my_lv.load("test.php");

php:
Код:

<?php
echo("&status=success");
?>


f_nhome 03.02.2007 21:14

да но загружен файл полностью, без обработки php то есть если
Код:

%3C%3F%0D%0Aecho%20%27%3Cdata%3E%27%3B%0D%0Aecho%20%22%3Citem%20name=%27fg%27%20%2F%3E%22%3B%0D%0Aecho%20%22%3C%2Fdata%3E%22%3B%0D%0A%3F%3E&onLoad=%5Btype%20Function%5D
привести в нормальный вид то получается:
Код:

<?
echo '<data>';
echo "<item name='fg' />";
echo "</data>";
?>

и т. д. то есть я предполагаю, что при загрузке файл php не обрабатывается как должен, а считывается его исходный текст

f_nhome 03.02.2007 22:23

Цитата:

Сообщение от lowka

Так попробуйте.
Код:

var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
    if (success) {
    test.text = my_lv.status;
    } else {
    trace("Error loading/parsing LoadVars.");
    }
};
my_lv.load("test.php");

php:
Код:

<?php
echo("&status=success");
?>


попробовал - пусто :(

f_nhome 05.02.2007 00:19

Всем БОЛЬШОЕ СПАСИБО за ответы и помощь!!!
Проблема решена!!! :)
Проблема исчезла после переустановки всего пакета от macromedia.:)
Все таки глюк.... правда не понял из-за чего...........н..да.... 5 суток без сна......
Тема закрыта.


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

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