Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с валидацыей

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: не могу корректно проверить имя
eko24
Отправлено: 11 Июля, 2011 - 14:10:04
Post Id



Гость


Покинул форум
Сообщений всего: 72
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Короче вот код:
PHP:
скопировать код в буфер обмена
  1. if ($name < 3 or $name > 19)
  2. {
  3. echo "<span style='color:red'>write correct name bastard</span>";
  4. }

если я введу имя диапазоном от 4 и до 19, он все равно выведет write correct name bastard.)
Почему ?
 
 Top
morosit
Отправлено: 11 Июля, 2011 - 14:15:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 307
Дата рег-ции: Июль 2010  
Откуда: Казахстан


Помог: 4 раз(а)




eko24 пишет:
$name < 3
вы сравниваете строку с числом?
 
 Top
LIME
Отправлено: 11 Июля, 2011 - 14:22:19
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ну да
к примеру "5">"19" даст тру
по первому символу сравнивается
можно так сделать
(int)$name
 
 Top
OrmaJever Модератор
Отправлено: 11 Июля, 2011 - 15:02:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




eko24 пишет:
Почему ?

Могу предположить что в $name находится имя пользователя (к пример "OrmaJever") И когда вы пытаетесь сравнить эту строку с числом то php пытается перевести эту строку в число, делает он это так http://php.su/learnphp/datatypes/?mn#strtoint
но посколько в строке нету числового символа то переводить там нечего и $name == 0
для проверки длины нужен strlen() или mb_strlen()


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 11 Июля, 2011 - 15:56:22
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




OrmaJever 100%
eko24 пишет:
если я введу имя диапазоном от 4 и до 19,

вы случайно не имелли ввиду длиной от 4 до 19?
 
 Top
eko24
Отправлено: 11 Июля, 2011 - 16:52:47
Post Id



Гость


Покинул форум
Сообщений всего: 72
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




да ввел, блин....
что то я ступил, хотя про существование этой функции знал, и раньше её использовал, и вот забыл.

(Отредактировано автором: 11 Июля, 2011 - 17:08:44)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB