Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2009, 10:11   #1
Svetix
Пользователь
 
Аватар для Svetix
 
Регистрация: 27.03.2009
Сообщений: 28
По умолчанию Вопрос по функциям trim и empty

Подскажите пожалуйста по функциям trim и empty. У меня на сайте форма для добавления комментариев. Основное - это автор и текст комментария.
Использую вышеуказанные функции так:
PHP код:
if (isset($author)) {trim($author); }
else {
$author ="";}

if (isset(
$text)) {trim($text); }
else {
$text ="";}

if(empty(
$author) or empty($text))
{
exit ();

И вот в чем проблема. Допустим в поле "автор" ввожу три пробела, а он пропускает такое значение переменной. Вроде должен сначала удалить лишние пробелы, осталась бы пустота, а потом проверить на пустоту и дальше exit. Что не так у меня? И как сделать правильно?
Огромное спасибо всем откликнувшимся.
Svetix вне форума Ответить с цитированием
Старый 01.06.2009, 13:03   #2
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

можно так
PHP код:
if(!preg_match('~[a-zа-яёА-ЯЁ0-9]+~i'$author)) {
  exit(
'некорректные символы');

php,javascript
Metandrostenalon вне форума Ответить с цитированием
Старый 01.06.2009, 13:47   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

PHP код:
if (isset($text)) 
проверяет на СУЩЕСТВОВАНИЕ значения переменной...
если хотите не пропускать пустые...то

PHP код:
if (isset($author) && trim($author)!='') {$author trim($author); } 
else {
$author ="";} 
ADSoft вне форума Ответить с цитированием
Старый 01.06.2009, 16:44   #4
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию



if (isset($author)) {$author = trim($author); }
else {$author ="";}

if (isset($text)) {$text = trim($text); }
else {$text ="";}
php,javascript
Metandrostenalon вне форума Ответить с цитированием
Старый 01.06.2009, 23:48   #5
Svetix
Пользователь
 
Аватар для Svetix
 
Регистрация: 27.03.2009
Сообщений: 28
По умолчанию

Спасибо всем за ответы, поняла свою ошибку, исправила, все работает!
Svetix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог функции Trim-удаление лишних пробелов в начале и в конце передаваемой строки GULINA Помощь студентам 6 23.05.2009 15:07
вопрос по математическим функциям - десятичный логарифм. на log10(x) marisha Помощь студентам 1 13.12.2008 10:14
Вопрос по функциям Antowka Паскаль, Turbo Pascal, PascalABC.NET 6 08.12.2008 22:45
глупый вопрос по функциям steck Общие вопросы Delphi 2 17.06.2007 15:40
условие если значение = empty zetrix Microsoft Office Excel 0 30.10.2006 18:58