У меня очень простой вопрос, возможно, есть и на этом форуме, но я не нашел ответа.
У меня есть ссылка, такая же как: / Профиль / 1
Как проверить правильность последнего (int) параметра. Это должно быть положительное целое число
Если вы боитесь, что люди собираются внедрить SQL или что-то в этом роде, вам следует изучить подготовленные операторы или объектно-реляционный маппер.
Чтобы получить параметры из URL-адреса, вы должны использовать модуль маршрутизации или структуру, которая включает его. http://symfony.com/en/doc/current/book/routing.html
Если вы просто хотите проверить, является ли переменная положительным целым числом, вы можете просто сделать это так:
if (is_int($value) && ($value > 0))
Просто используйте \d+
в регулярном выражении. Это будет проверять только положительные целые числа. Чтобы проверить на негатив, вам нужно добавить — перед ним, чтобы не было проблем.
Чтобы проверить весь URL, выполните:
https?:\/\/.+\/profile/\d+
is_int($valueFromURL)
Вернет истину или ложь.
РЕДАКТИРОВАТЬ
Чтобы проверить, является ли он положительным, просто используйте оператор if.
Пример кода:
if(is_int($valueFromURL) == true) && ($valueFromURL > 0) {
//Rock n' roll
}