За последние 24 часа нас посетили 25067 программистов и 1729 роботов. Сейчас ищут 902 программиста ...

Или я дурак, или лыжи не едут. strlen

Тема в разделе "PHP для новичков", создана пользователем q0b3rMAN, 25 июл 2012.

  1. q0b3rMAN

    q0b3rMAN Активный пользователь

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Форма HTML
    Код (Text):
    1. <form method="post">
    2.     Значение: <input name="znachenie" size="5">
    3.     <input type="submit" name="dalee" value="Далее">
    4. </form>
    Обработчик на той же странице:
    Код (Text):
    1. if(isset($_POST['dalee']))
    2. {
    3. $znachenie = $_POST['znachenie'];
    4.  
    5.     if(strlen($znachenie) < 2 or strlen($znachenie) > 32)
    6.     {
    7.         echo "Число должно быть от 2 до 32";
    8.     }  
    9.     else
    10.     {
    11.         echo "Все в порядке.";
    12.     }
    13. }
    Ну тут все ясно, должно проверится на длину число полученное из znachenie.

    В итоге, число передается (проверял через echo $znachenie).
    Но проверка получается таким образом:
    Минимальное 10, максимальное - не ограничено. Это в чем трабла? ))))
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    ты хочешь "длину числа" измерить?
    не едут лыжи :)

    Функция strlen() возвратит количество байт, а не число символов в строке.

    strlen('2'); // 1
    strlen('32'); //2
     
  3. q0b3rMAN

    q0b3rMAN Активный пользователь

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Все же я дурак -.- спасибо)
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    и не OR, а AND
    ты же хочешь чтобы оба условия соблюдались

    Добавлено спустя 25 секунд:
    топик из серии "Учите английский, блджадж!"