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]   

> Без описания
denandi
Отправлено: 01 Августа, 2014 - 10:48:00
Post Id


Новичок


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


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




Всем привет!
Поясните пож. следующее:
есть форма со всеми видами полей , для примера взять из набора
списки или радио. Т.е. как мне кажется при передаче целых чисел (значения), если сделать на входе в обработчик банальный var_dump($_POST); - то значения должно разложить на числа, строки, массивы и.т.д. разве не так?
Но почему то вижу строки и массивы - а int не определяет.
т.е. например значение списка 25 а в типе идет как строка.
раньше небыло нужды делить по типу при обработке. А теперь не знаю как должно быть в оригинале. Логика подсказывает что должно делиться.
Очень не хочется использовать подобное preg_match("|^[\d]*$|",$param)
 
 Top
DelphinPRO
Отправлено: 01 Августа, 2014 - 11:01:48
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




только строки и массивы, значения в которых тоже строки.

если вы передаете, например, ID, то заведомо знаете, что там должен быть INT. Тогда вам нужно привести это к соответствующему типу.

PHP:
скопировать код в буфер обмена
  1. $id = (int)$_POST['id'];
  2. //или
  3. $id = intval($_POST['id']);

(Отредактировано автором: 01 Августа, 2014 - 11:02:14)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
denandi
Отправлено: 01 Августа, 2014 - 11:11:13
Post Id


Новичок


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


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




DelphinPRO пишет:
только строки и массивы, значения в которых тоже строки.

если вы передаете, например, ID, то заведомо знаете, что там должен быть INT. Тогда вам нужно привести это к соответствующему типу.

PHP:
скопировать код в буфер обмена
  1. $id = (int)$_POST['id'];
  2. //или
  3. $id = intval($_POST['id']);


-------------------------
Да это то понятно... вы мне главное скажите!!!
Вот передается форма по вардампу должно делится по типу или нет????
 
 Top
Sail
Отправлено: 01 Августа, 2014 - 11:14:24
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


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




denandi пишет:
по вардампу должно делится по типу или нет????

Могу процитировать: "только строки и массивы, значения в которых тоже строки".

(Отредактировано автором: 01 Августа, 2014 - 11:34:17)

 
 Top
denandi
Отправлено: 01 Августа, 2014 - 11:22:19
Post Id


Новичок


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


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




Хм грустно, придется огород городить, поля не известные, форма динамическая.
Спасибо
 
 Top
Sail
Отправлено: 01 Августа, 2014 - 11:30:26
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


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




denandi пишет:
грустно, придется огород городить, поля не известные

Функции is_* в помощь!
 
 Top
DelphinPRO
Отправлено: 01 Августа, 2014 - 11:53:40
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




denandi пишет:
поля не известные

Имена у полей есть? есть. какие там должны быть данные вы знаете? знаете. В чем проблема?

Sail пишет:
Функции is_* в помощь!

Если все значения типа "string" как помогут эти функции? Максимум, можно проверить числовое значение функцией is_numeric.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Tyoma5891
Отправлено: 01 Августа, 2014 - 11:58:08
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


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




denandi пишет:
форма динамическая.

а что это значит в данном контексте?

(Отредактировано автором: 01 Августа, 2014 - 11:58:37)

 
 Top
denandi
Отправлено: 01 Августа, 2014 - 12:12:50
Post Id


Новичок


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


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




Tyoma5891 пишет:
denandi пишет:
форма динамическая.

а что это значит в данном контексте?


вкратце поясняю.
проект магазин. построение фильтров по принципу как на маркете. форма атрибутов собирается "налету" знаний "напрямую" что есть поле id со значением int = нет такого.
я естественно это все могу узнать но с соответствующими затратами. Из за этого и поднял тему. функции is_(*) - не работали. По крайней мере полу рабочая is_numeric() давала положительный результат не всегда (причины выясняются). Регулярка дает точные данные но я их всегда минимизирую.
 
 Top
Tyoma5891
Отправлено: 01 Августа, 2014 - 12:24:46
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


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




denandi пишет:
построение фильтров по принципу как на маркете. форма атрибутов собирается "налету" знаний "напрямую" что есть поле id со значением int = нет такого.

ничего не понял Улыбка
 
 Top
DelphinPRO
Отправлено: 01 Августа, 2014 - 12:28:00
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




denandi пишет:
что есть поле id со значением int = нет такого.

ну как так-то?

1. есть поле ID
2. мы знаем, что ID - целое число
3. значит преобразовываем $_POST['id'] в int

Или вы не знаете какой должен быть тип у ID?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
denandi
Отправлено: 01 Августа, 2014 - 12:31:16
Post Id


Новичок


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


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




Цитата:
ничего не понял Улыбка

данные атрибутов - виртуальные. Форма всегда разная. все данные постоянно плавают. вообщем, оно вам надо ?Радость
 
 Top
Tyoma5891
Отправлено: 01 Августа, 2014 - 12:37:37
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


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




denandi пишет:
Цитата:
ничего не понял Улыбка

данные атрибутов - виртуальные. Форма всегда разная. все данные постоянно плавают. вообщем, оно вам надо ?Радость

вообщем-то нет просто интересно зачем такая конспирация, тогда просто для поля id проверяйте тип данных в посте который приходит и отсюда пляшите...
 
 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