Реклама на сайте Advertise with us

Формы в пхп

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 15/04/14 в 20:59       Ответить с цитатойцитата 

Нужно передать через форму в скрипт пхп целое число
разумеется делаю проверку, чтоб в скрипт попадали только числа
Код: [развернуть]

В любом случае выдает что это не число.
Как можно решить такой момент?

Есть мысль, что можно с помощью регулярки [^0-9] фильтрануть запрос, тогда если введут что либо кроме числа на выходе получим пустой запрос, поэтому делаем делаем проверку и выдаем что то типа Введите правильный запрос.

Может где то не прав, подскажите.
Спасибо!

0
 

tuberotator.com

С нами с 12.09.06
Сообщения: 804
Рейтинг: 1478


Передовик Master-X (01.01.2015) Передовик Master-X (16.01.2015)
Ссылка на сообщениеДобавлено: 15/04/14 в 21:25       Ответить с цитатойцитата 

is_numeric

TUBE Rotator - Самый удобный, быстрый и главное любимый поисковиками!
Создай ТУБ за пять минут

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 15/04/14 в 21:41       Ответить с цитатойцитата 

Nux писал:
is_numeric


только он шестнадцатеричные проверяет тоже вроде, то есть 0xaa будет true, и дробные тоже 10.5 = true

8
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 15/04/14 в 21:50       Ответить с цитатойцитата 

это верно, а с поавающей точкой меня неустраивает, только целочисленные.
Выходит только через фильтрацию регуляркой и проверку.

Или я вот сейчас глфнул есть возможность работы с паттернами
http://htmlbook.ru/html/input/pattern
Проверю.
Но что то все равно больше доверия к регулярке в пхп icon_smile.gif

0
 

tuberotator.com

С нами с 12.09.06
Сообщения: 804
Рейтинг: 1478


Передовик Master-X (01.01.2015) Передовик Master-X (16.01.2015)
Ссылка на сообщениеДобавлено: 15/04/14 в 22:06       Ответить с цитатойцитата 

ibiz писал:
только он шестнадцатеричные проверяет тоже вроде, то есть 0xaa будет true, и дробные тоже 10.5 = true



совершенно верно, не заметил про целые,.. ну тут если так то регулярка практичнее

TUBE Rotator - Самый удобный, быстрый и главное любимый поисковиками!
Создай ТУБ за пять минут

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 15/04/14 в 22:07       Ответить с цитатойцитата 

Lexikon писал:
это верно, а с поавающей точкой меня неустраивает, только целочисленные.
Выходит только через фильтрацию регуляркой и проверку.

Или я вот сейчас глфнул есть возможность работы с паттернами
http://htmlbook.ru/html/input/pattern
Проверю.
Но что то все равно больше доверия к регулярке в пхп icon_smile.gif


патерны только для html5, и прямые реквесты они не фильтруют

8
 

tuberotator.com

С нами с 12.09.06
Сообщения: 804
Рейтинг: 1478


Передовик Master-X (01.01.2015) Передовик Master-X (16.01.2015)
Ссылка на сообщениеДобавлено: 15/04/14 в 22:09       Ответить с цитатойцитата 

Lexikon писал:


Или я вот сейчас глфнул есть возможность работы с паттернами


избегай такую возможность без перепроверки в ПХП

TUBE Rotator - Самый удобный, быстрый и главное любимый поисковиками!
Создай ТУБ за пять минут

8
 



С нами с 10.07.03
Сообщения: 1425
Рейтинг: 1288

Ссылка на сообщениеДобавлено: 16/04/14 в 00:01       Ответить с цитатойцитата 

Валидация на js типа test

Free sex links Planet Legs
Voyeur Homemade trade

8
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 16/04/14 в 00:55       Ответить с цитатойцитата 

Lexikon писал:
В любом случае выдает что это не число.

Само собой это не число. Мануал-то читал?
Цитата:
is_int — Проверяет, является ли переменная переменной целочисленного типа

Так что как вариант, используй ctype_digit или (int)$var.

8
 



С нами с 27.09.03
Сообщения: 5454
Рейтинг: 2506

Ссылка на сообщениеДобавлено: 16/04/14 в 01:00       Ответить с цитатойцитата 

Код:
if (!ctype_digit($request)) {
   exit("Введите целое число!");
}

8
 



С нами с 03.02.11
Сообщения: 842
Рейтинг: 301

Ссылка на сообщениеДобавлено: 16/04/14 в 01:44       Ответить с цитатойцитата 

Lexikon писал:
if (!is_int($request))
if(!is_int((int)$request)) так надо smail101.gif шутка.
а вообще победил грозный smail54.gif
только для грозности нужно die("Введите целое число!"); icon_evil.gif smail101.gif

8
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 16/04/14 в 07:31       Ответить с цитатойцитата 

из формы данные приходят в виде строк.)

8
 



С нами с 27.03.14
Сообщения: 201
Рейтинг: 169

Ссылка на сообщениеДобавлено: 16/04/14 в 09:57       Ответить с цитатойцитата 

Все верно, правильный ответ выше был: (int)$var
Кроме того, удобно, что такой вариант текст на лету превращает в 0. И не нужно писать доп. проверку на текст (если не предполагается, что 0 одно из корректных значений).

Perestroika Affiliates - легендарная гемблинг-партнерка №1.

9
 



С нами с 27.09.03
Сообщения: 5454
Рейтинг: 2506

Ссылка на сообщениеДобавлено: 16/04/14 в 17:28       Ответить с цитатойцитата 

VulkanPartner писал:
Все верно, правильный ответ выше был: (int)$var

(int)"qqq" вернет 0, и в базу занесется ноль, хотя юзер ввел qqq. это не правильно smail101.gif

0
 



С нами с 03.02.11
Сообщения: 842
Рейтинг: 301

Ссылка на сообщениеДобавлено: 16/04/14 в 21:09       Ответить с цитатойцитата 

grozny писал:
(int)"qqq" вернет 0, и в базу занесется ноль, хотя юзер ввел qqq. это не правильно smail101.gif
в базу фбр? фсб? цру? или разведки какой? так это охуенно! smail101.gif

0
 



С нами с 27.03.14
Сообщения: 201
Рейтинг: 169

Ссылка на сообщениеДобавлено: 17/04/14 в 13:42       Ответить с цитатойцитата 

grozny писал:
(int)"qqq" вернет 0, и в базу занесется ноль, хотя юзер ввел qqq. это не правильно smail101.gif

Изначально вопрос стоял "чтоб в скрипт попадали только числа". И зачастую в большинстве случаев подразумеваются числа от 1 и выше. Поэтому я так и ответил, что иногда, когда вернет "0" - как раз удобно! smail54.gif

Perestroika Affiliates - легендарная гемблинг-партнерка №1.

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 18/04/14 в 08:35       Ответить с цитатойцитата 

grozny писал:
(int)"qqq" вернет 0, и в базу занесется ноль, хотя юзер ввел qqq. это не правильно smail101.gif


icon_smile.gif Валидацию никто не отменял, если данные не верные, ничего в базу писать не надо, а надо сообщить пользователю чтобы ввел верные данный в поле с неверными данными)

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »