Форум 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)
-   -   Русский текст из xml, формата win1251, не отображает (http://www.flasher.ru/forum/showthread.php?t=93977)

MINASTIS 04.04.2007 18:43

__etc а там же $_POST... Дошло =)))

ПС. Эй и кстати вы что все сговорились такие аватары ставить с двумя буквами?! =))

etc 04.04.2007 18:46

Цитата:

Сообщение от MINASTIS
__etc а там же $_POST... Дошло =)))

Не дошло. Хотя и это тоже. Название функции trim.

з.Ы. Сговорились.

MINASTIS 04.04.2007 18:58

Название это я на форуме опечатку сделал, так то написал trim

Теперь он мне вобще просто файл очищает и не записывает в него ничего =(
Вот код:
Код:

<?php
$filename = "guest/book.dat";
$fd = fopen($filename, "r");
$prev = fread($fd, filesize($filename));
fclose($fd);
$allm = "<post date='".$_GET['_date']."' name='".$_GET['_nick']."' page='".$_GET['_page']."' mail='".$_GET['_mail']."'>".$_GET['_message']."</post>";
$addall = "$allm$prev";
$addall = stripslashes($addall);
@$addall = trim($_POST['addall']);
$fn = fopen($filename, "w");
fwrite($fn, $addall);
fclose($fn);
phpinfo();
?>

Что я снова намудрил? =(

P.S. Такие аватары показатель чего-то или просто для красоты?...

etc 04.04.2007 19:10

Ну правильно, ты берешь addall из POST-массива, а его нет. Следовательно, $addall пуст (ошибки нет в силу @ перед выполнением).

MINASTIS 04.04.2007 19:16

__etc ты имеешь ввиду что эту строку надо после добавления в файл ставить?...

Может ли быть не восприятие русского языка из-за вот этих строчек в странице с роликом?
Код:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />

И как же все таки и после чего использовать trim с $_POST?

Kikasso 04.04.2007 20:44

Вот из- за чего русские буквы не работают: wmode="transparent"
trim работает просто:
Код:

<pre>
<?php
$txt = "\n\t bla-bla \n\tеще текст \r\n";
echo "----------------------\n";
echo $txt;
echo "\n----------------------\n";
echo trim($txt);
echo "\n----------------------";
?>
</pre>

Обрезает все пробельные символы сначала и с конца.
http://www.php.net/manual/ru/function.trim.php
За ник сорри, случайно.
А насчет рекламного кода.. Что-то я не нашел открывающих тегов, только закрывающие. Наверное это у меня максон так рекламу вырезал, не вполне корректно.
Чарсет страницы не должен вроде влиять на флешовые дела, у меня нормально уникодом посылалось. Хотя если шлешь GET'ом..

Цитата:

Сообщение от MINASTIS
Вот мой код впечатывания:
Код:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" id="indexx" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="indexx.swf" /><param name="quality" value="high" />
<param name="wmode" value="transparent" /><param name="bgcolor" value="#666666" /><embed src="indexx.swf" quality="high"
 wmode="transparent" bgcolor="#666666" width="100%" height="100%" name="indexx" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>


Выделеное убери - это корень зла в данном случае.
Цитата:

Сообщение от MINASTIS
Что-то не совсем понял принцип... Я LoadVars использую только чтобы переменные передать в php скрипт, зачем XML получать?
XML я получаю сначала из другого XML объекта... Когда сообщения загружаю.

Тогда все нормально. Используй sendAndLoad, тем более что POST не кешируется.

MINASTIS 04.04.2007 21:07

Хм... Попробовал сделать так:
Код:

<?php
$filename = "guest/book.dat";
$fd = fopen($filename, "r");
$prev = fread($fd, filesize($filename));
fclose($fd);
$allm = "<post date='".$_GET['_date']."' name='".$_GET['_nick']."' page='".$_GET['_page']."' mail='".$_GET['_mail']."'>".$_GET['_message']."</post>";
$addall = "$allm$prev";
$gonnatrim = $addall;
$addall = trim($gonnatrim);
$addall = stripslashes($addall);
$fn = fopen($filename, "w");
fwrite($fn, $addall);
fclose($fn);
?>

Что-то не удаляет он \n и \r... =((

Так флешка и не воспринимает русский язык... Совсем нивкакую не хочет... =((
Я изменил чарсет дык он вобще перестал принимать подтверждение загрузки php скрипта. Пришлось снова на koi переписать. >=[

Есть еще мысли что же с русским языком произошло у меня нас странице?...

Ты имеешь ввиду
Код:

script.sendAndLoad("guest.php?_nick="+this._nick+"&_date="+this._date+"&_mail="+this._mail+"&_page="+this._page+"&_message="+this._message, script);
script.onLoad = function (ok:Boolean) {
        if (ok) {
                play();
        }
}

?

Кстати, почему сразу корень зла? (я убрал уже). Ведь благодаря этому в гесте пока никто не сможет писать на русском. Сейчас только символ на русском и вся геста слетит =(( Со всеми сообщениями!

Kikasso 04.04.2007 21:43

Код:

@$date = $_POST['_date'];
$date = ( isSet( $date ) && trim($date) != "" ) ? trim($date) : "" ;
// почему кстати не gmdate? Время по гринвичу, как использовать см. http://www.php.net/manual/ru/function.gmdate.php
//ну и так далее, можно без собачки:
$nick = ( isSet($_POST['_nick']) && trim($_POST['_nick']) != "" ) ? trim($_POST['_nick']) : "anonimous";
$message = ( isSet($_POST['_message']) && trim($_POST['_message']) != "" ) ? trim($_POST['_message']) : "нет текста";
// а теперь можно все складывать.

Вот так использовать trim.
Код:

script:LoadVars = new LoadVars();
script._nick = this.nick;
script._date = this._date;
script._mail = this._mail;
script._page = this._page;
script._message = this._message;
script.onLoad = function (ok:Boolean) { if(ok) play(); }
script.sendAndLoad("guest.php", script )

Вот что имею в виду. Вполне возможно, что GET сервак перекодирует.
Чтобы не вводили чего не попадя, есть свойство текстового поля restrict. Данные лучше подрезать перед отправкой, но это не так просто - trim во флеше не найден. Но написан.

etc 04.04.2007 22:00

Kikasso, а где у тебя указан режим POST?

MINASTIS 04.04.2007 22:00

Он не хочет без добавлений в адрес переменных эти переменные принимать. Ты показал как использовать trim и время правильное сделать?
Кстати если это действительно Get сервер перекодирует то тогда как это исправить?


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

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