| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Анубис 11.11.2003 10:20
Конечно, понимаю, что вещь не такая уж и сложная, но потратил на это весь день, а вечером решил еще раз разбраться с тиантами и антиантами. В итоге пришел к выводу, что в коде есть ошибка, но найти её не могу. Еще раз скажу, какова задача.## в файле gbook.p создаю класс
@CLASS
gbook
@load[]
## создание тестовой таблицы сообщений из форума
$messages[^table::create{author email date body
Пушкин pushkin@mail.ru 2003-11-01 О сколько нам открытий чудных, готовит <b>просвещенья</b> дух
Некрасов nekrasov@hotmailcom 2003-10-11 Великий русский поэт
Гагарин gagarin@rambler.ru 2002-03-04 Первый космонавт
}]
@show_messages[]
^if($messages){
^messages.menu{
<table width="100%">
<tr>
<td align="left"><b>$messages.author
^if(def $messages.email){
$messages.email
}{
Нет электронного адреса
}</b>
</td>
<td align="right">$messages.date</td>
</tr>
</table>
<table width="100%">
## вношу в сообщение форума «энтер»
$repl[^table::create{from to
открытий <br>}]
## печатаем преобразованный текст
<tr>
<td>^messages.body.replace[$repl]</td>
</tr>
</table>
}[<table width="100%" border="0" bgcolor="000000" cellspacing="0">
<tr><td> ^;</td></tr>
</table>]
}{
Гостевая книга пуста.
}
@show_form[]
<hr>
<br>
$date[^date::now[]]
<center>
<form method="POST">
<p>
Author<sup>*</sup><input name="author"><br>
E-mail <input name="email">
<br>text<br><textarea cols="50" name="text" rows="5"></textarea>
</p>
<p>
<input type="submit" value="Send" name="post">
<input type="reset" value="Cancel">
</p>
</form>
</center>
@test_and_post_message[]
^if(def $form:post){
^if(def $form:author){
^MAIN:dbconnect{
^void:sql{insert into gbook
(author, email, date, body)
values (
'$form:author',
'$form:email',
'${date.year}-${date.month}-${date.day}',
'$form:text'
)}
}
$response:location[$request:uri]
}{
<center>Поле автор обязательно для заполнения</center>
}
}А вызываю класс из index.html таким образом @USE gbook.p ######### $gb[^gbook::load[]] ^gb.show_messages[] ^gb.show_form[] ^gb.test_and_post_message[]Получаем вот такой результат:
Пушкин pushkin@mail.ru 2003-11-01 О сколько нам чудных, готовит просвещенья (выделенно жирным) дух Некрасов nekrasov@hotmail.com 2003-10-11 Великий русский поэт Гагарин gagarin@rambler.ru 2002-03-04 Первый космонавтТ.е. поскольку и перевод строки в первом сообщении получился и слово «просвещенье» жирным шрифтом, то это не то, что мне нужно. Нужно, чтобы остался перевод строки, а слово «просвещенье» вывелось без форматирования.