Форум 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=135073)

dj_pont 15.01.2010 04:28

Загрузка данных из php файла. Никак не получается(
 
Добрый вечер.
Хотелось бы уточнить простеёший вопрос, но я уже второй день туплю и не могу сделать. Перепробовал десятки вариантов, но всё никак.
Задача. На сервере лежит файл news.php:
PHP код:

<?php

$text_news 
"1";
echo 
$text_news;

?>

Соответственно из него надо выдернуть переменную text_news и передать её в динамическое поле во флеш при загрузке флешки. Сейчас я остановился на варианте:
Код AS1/AS2:

stop();
var mySessionID:LoadVars = new LoadVars();
mySessionID.onLoad = function(success:Boolean):Void {
 
if (success) {
newss.text = this.text_news
} else {
 
trace("error")
}
}
mySessionID.load("news.php");

Динамическое поле выдаёт: underfind

Уже устал биться. Помогите.
И если возможно, расскажите, как передать то что в переменной с основными тегами html, чтобы флешка их обработала, а не выдавала как текст. Заранее спасибо.

Hauts 15.01.2010 05:13

Ну так вы же единичку только и передаете, как эта единичка станет значением преременной text_news в mySessionID? Вам нужно передавать "перененная равно значение".

Код:

echo "&text_news=".$text_news."&";

dj_pont 15.01.2010 05:19

Цитата:

Сообщение от Hauts (Сообщение 879251)
Ну так вы же единичку только и передаете, как эта единичка станет значением преременной text_news в mySessionID? Вам нужно передавать "перененная равно значение".

Код:

echo "&text_news=".$text_news."&";

Вот спасибо. И не подумал то совсем. Всё заработало!

А по поводу передачи html тегов. Типа цветности?

Hauts 15.01.2010 05:22

Так же и передавайте, если вам так удобно. Я для себя писал в пхп функцию, которая получала имя переменной и ее значение, "склеивала" с амперсантами и писала разультат.

Еще можете над XML`ем подумать.

dj_pont 15.01.2010 05:30

Цитата:

Сообщение от Hauts (Сообщение 879254)
Так же и передавайте, если вам так удобно. Я для себя писал в пхп функцию, которая получала имя переменной и ее значение, "склеивала" с амперсантами и писала разультат.

Еще можете над XML`ем подумать.

Понятно.
А вы ещё не подскажите, какая кодировка при передаче.
У меня флеш воткнут в хтмл. Хтмл в заголовке стоит утф8, пхп файл сохранюю в утф8 приходят знаки вопроса, сохраняю в вин1251 приходит квадратики...

Hauts 15.01.2010 05:49

Воспользуйтесь блокнотом, сохраните файл под utf-8, и потом впишите, что вам надо и сохраните еще раз.

Могу ошибаться, но можете еще во флэшке написать "System.useCodepage = true;".

dj_pont 15.01.2010 05:56

Цитата:

Сообщение от Hauts (Сообщение 879257)
Воспользуйтесь блокнотом, сохраните файл под utf-8, и потом впишите, что вам надо и сохраните еще раз.

Вообще пользуюсь АкельПадом. Но попробовал сохранить в утф8 в стандартном блокноте. Всё равно вопросы(

Добавлено через 15 минут
Проблема была в так называемом BOM. Отключил его, сохранил в утф8, залали, всё равно иероглифы. Сохранил в вин1251 и всё запахоло))) ХЗ

Всё врубил. С систем коде паге он даёт кадировку 1251 без BOM. Если убрать систем коде паге, то утф8 без BOM.

Hauts 15.01.2010 06:15

То есть, когда открываете в блокноте файл с кодировкой utf-8, у вас там все нормально показывается, а когда грузите во флэшку — вопросы вместо текста?

А шрифт у текстового поля отображает русские символы? Попробуйте еще дописать в mySessionID.onLoad:
Код AS1/AS2:

for (var i in this) {
        trace(i+" = "+unescape(this[i]));
}


dj_pont 15.01.2010 06:29

Цитата:

Сообщение от Hauts (Сообщение 879257)
Воспользуйтесь блокнотом, сохраните файл под utf-8, и потом впишите, что вам надо и сохраните еще раз.

Могу ошибаться, но можете еще во флэшке написать "System.useCodepage = true;".

Цитата:

Сообщение от Hauts (Сообщение 879264)
То есть, когда открываете в блокноте файл с кодировкой utf-8, у вас там все нормально показывается, а когда грузите во флэшку — вопросы вместо текста?

А шрифт у текстового поля отображает русские символы? Попробуйте еще дописать в mySessionID.onLoad:
Код AS1/AS2:

for (var i in this) {
        trace(i+" = "+unescape(this[i]));
}


Да, в блокноте показывалось всё нормально. Просто по умолчанию выставлялся BOM (Для определения формата представления Юникода в текстовом файле используется приём, по которому в начале текста записывается символ U+FEFF (неразрывный пробел с нулевой шириной), также именуемый меткой порядка байтов (англ. Byte Order Mark, BOM).), а я его отключил и всё ОК.

А можно ещё уточнить про передачу HTML тегов. Прописываю допустим <br>, а вместо переноса он мне так и пишет <br>. Теги в какие-то спецобрамления надо вставлять?

Hauts 15.01.2010 06:38

Нет, просто у текстового поля поставьте "render text as HTML" (или в коде поставьте "x.html = true;", где x — это имя вешего текстового поля) и присваивайте текст не по ".text", а по ".htmlText".

Код AS1/AS2:

newss.html = true;
newss.htmlText = this.text_news;



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

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