|
Вопрос по php/MySQL
|
| Автор |
Сообщение |
lazutov $a ||= 5;


Зарегистрирован: 30.04.2007 Сообщения: 1926
6617 
|
Добавлено: Чт, 25 Окт, 2007 17:21 Заголовок сообщения: Вопрос по php/MySQL |
|
|
Значит ситуация такая:
1. текст из текстарены
| Код: |
..........
<form method="post" action="http://localhost/q/add.php" name="q-add">
<table style="text-align: left; width: 100%; height: 173px;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td>ееее</td>
<td><textarea cols="10" rows="5" name="q"></textarea></td>
</tr>
<tr>
<td style="height: 42px;" colspan="2" rowspan="1"><input name="press" value="add" type="submit">
hhh </td>
</tr>
</tbody>
</table>
/form> |
заносятся в стринговую переменную $q
однако отстутствуют абзацы (\n)
то есть:
если в текстарену я введу
то в $q выведется
как сделать, чтобы текст форматировался, спасибо! _________________ ps.int.ru - блог, Lwhois - Удобный whois для windows | whois-сервис с дополнительными возможностями
регистрация доменов RU-150р - в ЛС |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 3051
20463 
|
Добавлено: Чт, 25 Окт, 2007 17:35 Заголовок сообщения: |
|
|
lazutov
встроенная функция PHP n2br или как-то так... иначе говоря, можно и стр_риплейсом... \n -> <br/>... Помни, символы перевода строки воспринимаются в файловой системе и текстовых полях, но не браузером... тебе просто нужно было их переделать в аналог из HTML  _________________
 |
|
| Вернуться к началу |
|
 |
lazutov $a ||= 5;


Зарегистрирован: 30.04.2007 Сообщения: 1926
6617 
|
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 3051
20463 
|
Добавлено: Чт, 25 Окт, 2007 17:56 Заголовок сообщения: |
|
|
lazutov
тебе спасибо  _________________
 |
|
| Вернуться к началу |
|
 |
madhamster $a ||= 5;


Зарегистрирован: 09.10.2006 Сообщения: 710
31417 
|
Добавлено: Чт, 25 Окт, 2007 23:49 Заголовок сообщения: |
|
|
А я дурак велосипеды изобретаю
Ток я не понял, а обратной нету чтоли? _________________
 |
|
| Вернуться к началу |
|
 |
AlfaUngzipper Хостинг — это наше всё!

Зарегистрирован: 23.02.2007 Сообщения: 297 Откуда: Минск 7202 
|
Добавлено: Пт, 26 Окт, 2007 03:23 Заголовок сообщения: |
|
|
нету. да и nl2br не использую. т.к.:
* не всегда нужен xhtml
* не всегда нужно на выходе <br /> (пример: нужно на выходе сразу <br class="cbr" /><br class="cbr" /><hr /><br class="cbr" /><!-- tpl end -->)
* не всегда нам нужно лецезреть/хранить в БД 20000 новых пустых строк из-за уснувшего клиента или юного киберпанка в токсичном опьянении...
поэтому вот основа (пример для utf8):
| Код: | $utext = $_POST['utext'];
$utext = htmlspecialchars($utext, ENT_QUOTES, 'UTF-8');
$utext = trim($utext);
$utext = preg_replace("/[\x0A-\x0D]/","ћ",$utext);
$utext = preg_replace("/(ћ){4,}+/","<br /><br /> ",$utext);
$utext = preg_replace("/(ћ){2,3}/","<br /> ",$utext);
$utext = str_replace('&', '&', $utext); |
кусок был написан из соображений, что любой спам-бот пропущенный через регулярные выражения может стать больше чем поэтом. шутка. писал для следующих нужд:
новые строки
начинаются с новых строк.
любое количество новых строк превращается
в два <br />. т.е. это означает, что можно написать
стихи и они будут отображены как стихи, своими столбиками, но br-спама при таком коде получить не удалось.  |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 3051
20463 
|
Добавлено: Пт, 26 Окт, 2007 11:15 Заголовок сообщения: |
|
|
AlfaUngzipper
все равно, зачем настолько усложнять?.. кроме того, имхо, не знаю никакого применения классам в "<br>", да и XHTML-код нужен... практически всегда... так как и в HTML5 "<br>" -> "<br/>"... _________________
 |
|
| Вернуться к началу |
|
 |
lazutov $a ||= 5;


Зарегистрирован: 30.04.2007 Сообщения: 1926
6617 
|
Добавлено: Сб, 27 Окт, 2007 07:43 Заголовок сообщения: |
|
|
пхп ругнулся | Код: | Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in z:\home\localhost\www\cllregister.php on line 15
|
скрипт
| Код: | function check_username($name){
$sql="SELECT name FROM cms_users WHERE name=$name";
$result=mysql_query($sql);
$rows=mysql_num_rows($result); //это и есть 15 строка
if ($rows=0) {return true;} else {return false;}
} |
однако выполнению скрипта это не мешает
в чем может быть глюК
Заранее спасибо.
php.net юзал. _________________ ps.int.ru - блог, Lwhois - Удобный whois для windows | whois-сервис с дополнительными возможностями
регистрация доменов RU-150р - в ЛС |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 3051
20463 
|
Добавлено: Сб, 27 Окт, 2007 11:40 Заголовок сообщения: |
|
|
lazutov
если банально перевести сообщение о ошибке, то выходит, что функция вызывается до того, как установлено соединение с БД... следовательно, существует ли перед этим соединение?.. _________________
 |
|
| Вернуться к началу |
|
 |
madhamster $a ||= 5;


Зарегистрирован: 09.10.2006 Сообщения: 710
31417 
|
Добавлено: Сб, 27 Окт, 2007 14:40 Заголовок сообщения: |
|
|
В функции пропиши глобальную переменную соединения с базой.
Если потребуется используйе её в функциях (т.к она не обязательна, но должна быть в поле зрения) _________________
 |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 3051
20463 
|
Добавлено: Сб, 27 Окт, 2007 15:00 Заголовок сообщения: |
|
|
madhamster
при вызове любой функции запроса к БД, если не указана таковая переменная, используется последнее открытое соединение, не нужно никакой глобальной переменной. достаточно просто того, чтобы такое соединение существовало в момент вызова функции. В том числе, если соединение вызывается не в глобальной области видимости. _________________
 |
|
| Вернуться к началу |
|
 |
lazutov $a ||= 5;


Зарегистрирован: 30.04.2007 Сообщения: 1926
6617 
|
Добавлено: Сб, 15 Дек, 2007 16:24 Заголовок сообщения: |
|
|
задача:обнаружить русские символы в стринге
| Код: | function ru($s){
for ($i=224; $i <=255; $i+=1) {
if (strstr($s,chr($i))>0){return true;}
}
if (strstr($s,'ё')>0){return true;}
return false;
}
if (ru($string)==true){$error.='<br>wrongEmailChars';}
|
я решил это так.
однако, оно не работает.(тоесть true не возвращает)
Прошу помощи, Заранее спасибо! _________________ ps.int.ru - блог, Lwhois - Удобный whois для windows | whois-сервис с дополнительными возможностями
регистрация доменов RU-150р - в ЛС |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 3051
20463 
|
Добавлено: Сб, 15 Дек, 2007 16:57 Заголовок сообщения: |
|
|
lazutov
а как же еще учет того, в какой кодировке строка?..
Надежнее всего (хотя не экономно) провести поиск в строке по очереди каждой русской буквы... хотя, конечно, 33 запуска функции не радуют..  _________________
 |
|
| Вернуться к началу |
|
 |
lazutov $a ||= 5;


Зарегистрирован: 30.04.2007 Сообщения: 1926
6617 
|
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 3051
20463 
|
Добавлено: Сб, 15 Дек, 2007 17:15 Заголовок сообщения: |
|
|
А если заменить
| Код: | | for ($i=224; $i <=255; $i+=1) { |
на
| Код: | | for ($i=224; $i =0; $i--) { |
? _________________
 |
|
| Вернуться к началу |
|
 |
|