Форум 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)
-   -   переход на новую стоку в гостевой (http://www.flasher.ru/forum/showthread.php?t=102771)

pupo4kin 22.10.2007 15:05

переход на новую стоку в гостевой
 
Сделал самую простую гостевую с применением php и mySQL. Есть одна проблема. Если я в поле ввода ввожу, например:

Один
Два

в итоге это отображается, как:

ОдинДва

Как решить эту проблему? Замена "\n" на "<br/>" в скрипте не помогает.

Код php-скрипта:
Код:

//Запись в базу данных
if ($name!="" && $message!=""){
  $message=eregi_replace("\n", "<br/>", $message);
  $date = date('d.m.Y');
  $sql="INSERT INTO gb values('', '$date', '$name', '$mail', '$message')";
  mysql_query($sql);
}
.
.
.
//Запись данных в переменную, передаваемую во флэш:
$mes=$mes."<u><a href='mailto:$mail'><font color='#666666' size='18'>".$name."</font></a></u>  <font color='#666666'>(".$date.")</font><br>".$message."<br><br>";


wvxvw 22.10.2007 15:08

По умолчанию флеш записывает обрыв строки как "\r"

pupo4kin 22.10.2007 15:30

Спасибо, но не помогло.

alexcon314 22.10.2007 15:57

>>Замена "\n" на "<br/>" в скрипте не помогает.
т.е. замена все-таки происходит? и в ответе от скрипта приходит строка с этими самыми <br/>? или что?

pupo4kin 22.10.2007 16:09

Не, замена как раз не происходит. В базу данных записывается строка без "<br/>" и без "\n". Просто сплошная строка без обрыва.

wvxvw 22.10.2007 16:11

Есть еще вариант, вы получаете эскейп последовательность заменяющую обрыв строки. В таком случае нужно искать не "\r" а "%0D"

В любом случае, легче посмотреть, что вы получаете в месте, где ожидаете обрыв строки, и его и меняйте - все проще, чем гадать на кофейной гуще...

Kikasso 22.10.2007 16:37

Прочтите пост #2. Флеш посылает из текстовых полей '\r' , даже если засадить туда '\n'. Фиг знает почему, но вот так.
'\n' приходит только если отправлять переменную.

alexcon314 22.10.2007 16:49

вариант
перед отправкой строки ВО ФЛЭШЕ заменить "\r" или "\n" (что там у вас)
на обычный символ (последовательность символов) типа "newline", но так чтоб она не пересекалась с содержимым основного текста, тут конечно могут быть косяки.
а при получении в полученной строке опять же во флэше перед отображениием произвести обратную замену.

pupo4kin 23.10.2007 23:42

сделал проще: просто во флэше поменял "\r" сразу на "<br/>". Все работает=)) Всем спасибо. Интересно, почему php не хочет менять.

wvxvw 24.10.2007 03:01

кста, биар не нужно закрывать =)


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

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