Добро пожаловать, Гость!
Функция strlen
Общие вопросы | Функция strlen



Функция strlen
1 Мая 2014Всем привет. Столкнулся с такой проблемой. Создаю условие
<?
$post= htmlspecialchars($_POST['text']);
$post_d=strlen($post);
if (empty($post) && ($post_d<3 || $post_d>256)) $_SESSION['err'] .= 'Допустимо от 3 до 256 символов в сообщение!';
?>
Но почему то проходит любое количество символов. В чем проблема?
Комментарии:



Vailob (1 Мая 2014):
Hatchet,а ты не сомневайс9
ни первый раз ошибаюсь
Vailob, Эта ПЯТЬ Hatchet,а ты не сомневайс9



Стритрейсер (1 Мая 2014):
Vailob,
еще и услуги http://dcms-social.ru/forum/15/10/19866/ свои предоставляешь, чет я сомневаюсь в них 
Hatchet,а ты не сомневайс9Vailob,





Vailob (1 Мая 2014):
где [err] . Убери точку и пробуй.
Vailob, где [err] . Убери точку и пробуй.





Dark_ AKC, Здесь у нас не изба-гадальня, не надо советовать то о чем даже минимального представления не имеешь.
В будущем буду наказывать за явно неверные и вредные советы.



if (empty($post) && ($post_d<3 || $post_d>256))
Разберем по выражениям:
empty($post) - если пусто (false - если там что-то есть)
И
(.....) - проверка длины ( как можно проверить длину у пустого? Зачем?)
Вывод - выражение всегда ложно и никогда не сработает.
Решение :
if (empty($post) || $post_d<3 || $post_d>256)
Если пусто ИЛИ меньше 3 ИЛИ больше 256.