X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Как правильно вывести определенный блок текста?
margo_hb
margo_hb
Topic Starter сообщение 5.6.2009, 19:01; Ответить: margo_hb
Сообщение #1


Есть гостевая книга. Данные из формы записываются в текстовый файл, а потом считываются. Проблема в том что если в текстовое поле вводить данные и нажимать ентер а потом дальше вводить, то вывод получается неправильный. Если данные вводятся подряд в тестовом поле, то все выводится нормально.

Вот код формы:
<form action="gostevaya_kniga.php" method="POST" style="margin-top:-12px;">

<p class="main">Имя:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="data[0]" size="39"> </p>
<p class="main">E-mail:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="data[1]" size="39"></p>
<div style="color:#cccc99; font:normal normal normal 18px Times New Roman ; position:relative; left:-152px; top:45px;">Текст:</div> <p style="position:relative; left:47px; top:-40px;"><textarea name="data[2]" rows="10" cols="30" ></textarea> </p>
<div style="position:relative; left:0px; top:-40px;"><input type="submit" name="add" value="Добавить">&nbsp;&nbsp;&nbsp;&nbsp; <input type="reset" value="Очистить"></div>
</form>


Вот код который записывает данные в файл и считывает:
[PHP]
$file=fopen("kniga.txt", "a");
$dat=date("j.m.Y");

$im=strip_tags(stripslashes(substr($_POST['data']['0'],0,20)));
$txt=strip_tags(stripslashes(substr($_POST['data']['2'],0,1000)));

$str_file=implode("::", $_POST['data']);


fwrite($file, $dat."&nbsp;&nbsp;&nbsp;".$str_file."\n");
fclose($file);

$file=fopen("kniga.txt", "r");
$zapisi=file("kniga.txt");
$kol=count($zapisi);

for ($i=$kol; $i>-1 ; $i--)
{
$line=explode("::", $zapisi[$i]);
echo $line[0]."<br>".$line[1]."<br>".$line[2]."<br><br>";

}
fclose($file);

[/PHP]

Во вложенном файле показано как данные записываются в файл и считываются если нормально вводить комментарий и если с энтером. Как правильно сделать вывод? Чтоб новые записи были сверху, но и в случае такого комментария чтоб вывод был нормальный?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
margo_hb
margo_hb
Topic Starter сообщение 5.6.2009, 19:06; Ответить: margo_hb
Сообщение #2


забыла файл вложить, вот файл
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 5.6.2009, 20:42; Ответить: Webmaster_hb
Сообщение #3


margo, перед записью в файл заменяйте знаки переводов строки, например на <br>
простой заменой функцией nl2br
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
margo_hb
margo_hb
Topic Starter сообщение 6.6.2009, 1:17; Ответить: margo_hb
Сообщение #4


(Webmaster_hb @ 5.6.2009, 23:42) *
margo, перед записью в файл заменяйте знаки переводов строки, например на <br>
простой заменой функцией nl2br


перед записью в файл воспользовалась функцией nl2br для замены знака перехода на новую строчкой знаком <br>
[PHP]
$file=fopen("kniga.txt", "a");
$dat=date("j.m.Y");

$im=strip_tags(stripslashes(substr($_POST['data']['0'],0,20)));


$txt=strip_tags(stripslashes(substr($_POST['data']['2'],0,1000)));
$txt=nl2br( $txt);



$str_file=$dat."&nbsp;&nbsp;&nbsp;".$im."::".$txt."\n";

fwrite($file, $str_file);
fclose($file);
[/PHP]
теперь в файл записывается подобная запись так:

5.06.2009&nbsp;&nbsp;&nbsp;name::text<br />
text<br />
text


и выводится так же как и раньше.

А как сделать чтоб строка в файл записалась вот так:

5.06.2009&nbsp;&nbsp;&nbsp;name::text<br>text<br>text

Тоесть комментарий чтоб в одну строку ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nightfly_hb
Nightfly_hb
сообщение 6.6.2009, 1:25; Ответить: Nightfly_hb
Сообщение #5


"\n" убрать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
margo_hb
margo_hb
Topic Starter сообщение 6.6.2009, 1:27; Ответить: margo_hb
Сообщение #6


(' post='34277 @ 6.6.2009, 04:25)
"\n" убрать?


а как убрать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nightfly_hb
Nightfly_hb
сообщение 6.6.2009, 1:34; Ответить: Nightfly_hb
Сообщение #7


Я ошибся, сонный...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
margo_hb
margo_hb
Topic Starter сообщение 6.6.2009, 1:40; Ответить: margo_hb
Сообщение #8


(' post='34279 @ 6.6.2009, 04:34)
Я ошибся, сонный...


ну давайте подумаем, плиииз

почему функция nl2br в файл вместо знака перехода на новую строку записывает символ <br /> а не просто <br>?

как мне сделать чтоб строка в файл записывалась в таком виде:

5.06.2009&nbsp;&nbsp;&nbsp;name::text<br>text<br>t ext
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nightfly_hb
Nightfly_hb
сообщение 6.6.2009, 10:54; Ответить: Nightfly_hb
Сообщение #9


почему функция nl2br в файл вместо знака перехода на новую строку записывает символ <br /> а не просто <br>?
с nl2br дела к своему стыду не имел, но могу подозревать что из за доктайпа документа - если у вас xhtml прописан - то вполне может быть. по любому это не трагедия
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
margo_hb
margo_hb
Topic Starter сообщение 6.6.2009, 11:25; Ответить: margo_hb
Сообщение #10


(' post='34283 @ 6.6.2009, 13:54)
с nl2br дела к своему стыду не имел, но могу подозревать что из за доктайпа документа - если у вас xhtml прописан - то вполне может быть. по любому это не трагедия


Я понимаю что это не трагедия, но подскажите как правильно обработать такие данные чтоб они выводились нормально???
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
11 Boymaster 1805 17.4.2024, 23:35
автор: Boymaster
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4811 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19709 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3102 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13655 31.3.2024, 12:44
автор: Boymaster


 



RSS Текстовая версия Сейчас: 19.4.2024, 19:50
Дизайн