За последние 24 часа нас посетили 17682 программиста и 1722 робота. Сейчас ищут 879 программистов ...

Сравнение типа переменных(условие)

Тема в разделе "PHP для новичков", создана пользователем Eser, 30 сен 2010.

  1. Eser

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

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Подскажите как сделать условие. Мне нужно что бы из формы в бд писались только данные с типом integer(т.е числа, а другие символы игнорировались)
     
  2. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
  3. Eser

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

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Делаю так.
    var_dump(is_int($_POST['kolvo']));
    Но возвращает всегда false. Что число я ввел в поле, что букву
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Сначала сделай просто var_dump($_POST['kolvo']) и посмотри что пришло из формы
     
  5. Eser

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

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Тип строка
    string(4) "xz"
    или
    string(4) "123"
     
  6. Eser

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

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Т.е получаеться что для php все строка.
    А как тогда сделать. Через регулярные выражения,только?
     
  7. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Ну вот, приходят оба раза строковые переменные. Естественно is_int вернет false.
    Задача какая - записать только числа?
     
  8. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Для чисел можно сделать intval($_POST['kolvo']). Тогда для строки xz мы получим 0. Перед записью проверяй например на intval($_POST['kolvo']) > 0
     
  9. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
  10. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Еще смущает string(4) при var_dump, пробелы что-ли левые ставятся?
    Тогда надо добавить intval(trim($_POST['kolvo']))
     
  11. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    с текстового инпута приходит текст
     
  12. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Срываешь покровы!!!!!111111111111 :)

    tommyangelo, ну ты и протормозил. Лишние пробелы. :)))
     
  13. Eser

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

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Спасибо люди.
     
  14. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    ты о чем? %-)
     
  15. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Шучу так. :) Просто не думал, что люди могут быть не в курсе, что с инпутов всегда идут строки.
     
  16. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    lexa
    Чувак, я понимаю прекрасно про строковый тип, просто у него одна строка 2 символа, а вторая 3, а вар дамп показывает 4 символа. Почему так?
     
  17. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Блииин, это я протормозил. Пардон.

    P.S. Чё-то мне уже не так смешно. :))
     
  18. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    =)
    ничего страшного, утро всё таки))) Я просто человеку показал - сделай вардамп, посмотри что приходит, теперь он сам видит,что строки. А если просто сказать -
    не наглядно получается ;)
     
  19. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    У меня глубокая ночь. Просто поспать не получается. Двойное оправдание! :)
     
  20. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    tommyangelo
    Теперь твоя очередь глумиться над ним))) Добей его морально)))
     
  21. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Апельсин
    Не получится, забыл комбинации клавиш для Fatality
     
  22. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    tommyangelo
    Как такое забыть можно!? B+C+B+B+вверх+вниз :)))
     
  23. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Апельсин
    в памяти всплыло B+B+Y+B+Y )))))))
     
  24. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Быть не может.