1. Как запретить вводить в форму длинные слова и как определить количество введенных символов в форму?
2. Так же вопрос по do while. У меня выводятся новости в цикле вот так
1 Новость
2 Новость
3 Новость
А как вывести наоборот, а лучше вообще по дате.
5 февраля 2009
3 февраля 2009
1 февраля 2009
Заранее всех благодарю!
Спустя 1 час, 20 секунд (11.02.2009 - 21:39) kirik написал(а):
1. Первым делом нужно ограничить длину возможного слова на стороне пользователя путем добавления maxlength="15" в input тэг, где 15 - максимальная длина слова. Во-вторых на стороне сервера обрезать все, что больше 15 символов (в нашем случае) таким образом - $_POST['text'] = substr($_POST['text'], 0, 15);.
2. Лучше б код показал. А вообше можно "перевернуть" этот массив с помощью array_reverse();
2. Лучше б код показал. А вообше можно "перевернуть" этот массив с помощью array_reverse();
Спустя 59 минут, 16 секунд (11.02.2009 - 22:38) AtonS написал(а):
Спасибо!
А как определить в обрабатывающем фаиле что ввели например больше 3000 символов?
Вот код. Можно без array_reverse() обойтись?
А как определить в обрабатывающем фаиле что ввели например больше 3000 символов?
Вот код. Можно без array_reverse() обойтись?
PHP |
$result = mysql_query("SELECT *, DATE_FORMAT(date, '%d.%m.%Y') as date FROM data WHERE id='$id'",$db); |
Спустя 7 минут, 53 секунды (11.02.2009 - 22:46) kirik написал(а):
Цитата (AtonS @ 11.02.2009 - 14:38) |
А как определить в обрабатывающем фаиле что ввели например больше 3000 символов? |
PHP |
if(strlen($_POST['text']) > 3000) |
Цитата (AtonS @ 11.02.2009 - 14:38) |
Вот код. Можно без array_reverse() обойтись? |
Вижу только вывод одной новости

Спустя 7 минут, 15 секунд (11.02.2009 - 22:53) AtonS написал(а):
Извините это код самой новости Вот
PHP |
$result = mysql_query("SELECT id,title,description,date,author,mini_img,comment,view, DATE_FORMAT(date, '%d.%m.%Y') as date FROM data WHERE cat='$cat'",$db); |
Спустя 5 минут, 5 секунд (11.02.2009 - 22:58) kirik написал(а):
В конец запроса
SQL |
SELECT id,title,description,date,author,mini_img,comment,view, DATE_FORMAT(date, '%d.%m.%Y') as date FROM data WHERE cat='$cat' |
Нужно добавить ORDER BY `date` DESC, будет так-
SQL |
SELECT id,title,description,date,author,mini_img,comment,view, DATE_FORMAT(date, '%d.%m.%Y') as date FROM data WHERE cat='$cat' ORDER BY `date` DESC |
Спустя 4 минуты, 21 секунда (11.02.2009 - 23:03) AtonS написал(а):
Спасибо Вам огромное! Весь форум облазил - искал ответ. Вы всем помогаете! Мне бы дорасти до Вашего уровня! Успехов Вам во всем!
Спустя 17 минут, 29 секунд (11.02.2009 - 23:20) AtonS написал(а):
Извините. Снова побеспокою.
Если указать $_POST['text'] = substr($_POST['text'], 0, 15);
то обрезает все. А можно сделать, чтобы просто проверяло все слова в предложение и если есть длиннее 15 символов выдавало сообщение?
И как можно обрезать адрес выдоваемый $_SERVER['REMOTE_ADDR']
до www.name.ru?
Если указать $_POST['text'] = substr($_POST['text'], 0, 15);
то обрезает все. А можно сделать, чтобы просто проверяло все слова в предложение и если есть длиннее 15 символов выдавало сообщение?
И как можно обрезать адрес выдоваемый $_SERVER['REMOTE_ADDR']
до www.name.ru?
Спустя 7 минут, 5 секунд (11.02.2009 - 23:27) kirik написал(а):
А.. ну выше был пост =)
PHP |
if(strlen($_POST['text']) > 15) |
Но мне кажется если вы ограничите колличество вводимых символов в форме, то не нужно проверять и выдавать ошибку. Нужно просто резать все лишнее, потому как если человек ввел больше, значит он пытался обойти защиту через maxlength.
Спустя 2 минуты, 42 секунды (11.02.2009 - 23:30) AtonS написал(а):
Так он считает все введенное, а каждое слово по отдельности?
И как можно обрезать адрес выдоваемый $_SERVER['REMOTE_ADDR']
до www.name.ru?
И как можно обрезать адрес выдоваемый $_SERVER['REMOTE_ADDR']
до www.name.ru?
Спустя 2 минуты, 3 секунды (11.02.2009 - 23:32) kirik написал(а):
Цитата (AtonS @ 11.02.2009 - 15:20) |
И как можно обрезать адрес выдоваемый $_SERVER['REMOTE_ADDR'] до www.name.ru? |
Спустя 4 минуты, 52 секунды (11.02.2009 - 23:37) kirik написал(а):
Цитата (AtonS @ 11.02.2009 - 15:30) |
Так он считает все введенное, а каждое слово по отдельности? |
Нужно каждое слово? Хм.. тогда регулярки..
PHP |
$text = 'gdgdgas;ldkf;lakdsj asdlkfjskladjfkl asdf;lkdlskf sdklfjewjiweif '; |
Спустя 3 минуты, 55 секунд (11.02.2009 - 23:41) AtonS написал(а):
Ну теперь вообще поклон до земли.

Спустя 14 часов, 14 минут, 39 секунд (12.02.2009 - 13:56) AtonS написал(а):
Все ОК.
Спустя 7 часов, 24 минуты, 27 секунд (12.02.2009 - 21:20) kirik написал(а):
PHP |
$adres_vhoda = $_SERVER['HTTP_REFERER']; |
Это меняем на
PHP |
$adres_vhoda = preg_replace('/http:\/\/(www\.)?([^\/]+)(\/\S+)?/i', 'www.$2', $_SERVER['HTTP_REFERER']); |
Это <a href='$adres_vhoda' меняем на <a href='{$_SERVER['HTTP_REFERER']}', а это {$matches[0]} меняем на {$adres_vhoda}
Вроде ничего не забыл..
Спустя 57 секунд (12.02.2009 - 21:21) kirik написал(а):
Цитата (AtonS @ 12.02.2009 - 05:56) |
Все ОК. |
Хорошо что сам разобрался
