Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как игнорировать нажатие Enter?
 
 автор: FiX   (25.07.2005 в 13:24)   письмо автору
 
 

У меня вопрос по поводу пользовательского ввода. Я написал скрипт гостевой книги.
Проблема в том, что если при вводе текста в поле <textarea> пользователь нажмет Enter и продолжить писать текст, то последующий вывод информации нарушается.
Есть ли какая нибудь функция, которая заставляет игнорировать нажатие на Enter? То есть чтобы весь текст был в одну строку.

   
 
 автор: Loki   (25.07.2005 в 13:54)   письмо автору
 
   для: FiX   (25.07.2005 в 13:24)
 

Так а при выводе эти данные все равно будут в одну строку. Если только вы не применили функции nl2br().

   
 
 автор: cheops   (25.07.2005 в 13:59)   письмо автору
 
   для: FiX   (25.07.2005 в 13:24)
 

Приведите пожалуйста HTML-код формы?

   
 
 автор: FiX   (25.07.2005 в 20:24)   письмо автору
 
   для: cheops   (25.07.2005 в 13:59)
 


<table border="0" align="center" class="bodytext" cellpadding="0" cellspacing="0"><tr>
<tD><form action=action.php method=post name="form1">
Ваше имя:</td><tD align="right"><input type=text name=name></td></tr><tr>
<tD>E-mail:</td><tD align="right"><input type=text name="mail"></td></tr><tr>
<td colspan="2">Сообщение:<br><div align="right">
<textarea name="text" style="font-family:tahoma;font-size:11px;height:70px;width:220"></textarea></td></tR><tr>
<tD></td><tD><input type="submit" value="Добавить"></div></form></td></tR></table>
</tD><tD>
Дополнительно:<Br>
<a class=body href="javascript:setcode('  текст  ')">Жирный текст  </a><Br>
<a class=body href="javascript:setcode('  текст  ')">Курсив  </a><Br>
<a class=body href="javascript:setcode(' [u] текст [/u] ')">Подчеркнутый текст [u] [/u]</a><Br><bR>
</tr></table>
</tR>
<?php
break;
}
?>
</table>


Это сама форма добавления;


<?php
if ($name==""):
print 
"Вы не ввели имя!<br>";
elseif (
$mail==""):
print 
"Вы не ввели E-mail!<br>";
elseif (
$text==""):
print 
"Вы не ввели текст сообщения!<br>";
else:

$text htmlspecialchars($text);
$text str_replace("","<b>",$text);
$text str_replace("
"
,"</b>",$text);
$text str_replace("","<i>",$text);
$text str_replace("
","</i>",$text);
$text str_replace("[u]","<u>",$text);
$text str_replace("[/u]","</u>",$text);
trim($text);

$dt date("d.m.y");
$wrtext "$dt|$name|$mail|$text \n";

$data "data.dat";
$files fopen($data,"a");
fputs($files,$wrtext);
fclose($files);

header ("location: index.php");
endif;

?>


А вот сам скрипт записи... (выше)

   
 
 автор: cheops   (25.07.2005 в 22:52)   письмо автору
 
   для: FiX   (25.07.2005 в 20:24)
 

Добавьте в обработчике строки
<?php
  $text 
str_replace("\r\n","<br>",$text); 
  
$text str_replace("\n","<br>",$text)
?>

Функция nl2br() помоему переводы строк не удаляет, а они действительно могут представлять проблему при хранении информации в файле.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования