Я новичок в PHP, и этот вопрос кажется глупым.
Но я действительно запутался в ассоциативном массиве $ _GET, который может помочь мне получить доступ ко всем параметрам, отправленным через URL.
Предположим, я ожидаю строку product_ID и напишу в коде так:
$id = $_GET['prod_id'];
Get_Data($id);
Хотя Get_Data () - это функция, которая ожидает, что единственным параметром будет строка, но не массив.
Что, если какой-нибудь плохой парень введет в URL что-то вроде этого:
.../product.php?prod_id[]=1&prod_id[]=2
Метод, использующий $_GET['prod_id']
, вернет массив (1,2) вместо строки. Это может привести к серьезным проблемам в моем приложении.
Теперь вопрос: существует ли глобальный способ избежать описанного выше случая?
[EDIT]
Иногда я хочу получить массив из $_GET['prod_id']
вместо строки (например: получение данных из мультиселектора, где пользователи могут выбрать более 1 продукта)
Можно ли проверить, находится ли возвращаемый массив в правильной структуре (одномерный массив с невинными данными) или был обманут каким-то плохим парнем, как этот:
.../product.php?prod_id[a]=1&prod_id[b]=2&prod_id[c]=3&prod_id[d]=4
Я думаю, что очень просто передать массив со сложной структурой в php $ _GET, но кодеру очень сложно проверить, нужна ли им правильная структура.
Не могли бы вы, пожалуйста, просветить меня? Спасибо!