2017-01-13 2 views
-1

Я извлекаю значение в $_GET['id'] со страницы на другую. Идентификаторы являются числовыми от 1 до 1000. Теперь, когда я помещаю разные символы с клавиатуры в url, я получаю исключения. Я накрыли для A-Z и прямой слэш с регулярным выражением, как:Регулярное выражение, которое охватывает все символы?

if(preg_match('/[a-zA-Z\/]/',$film_id)) { 
     echo 'Invalid id for the film'; 
     die(); 
} 

Но как бороться с тем, когда я поставил символы как% $ *; и т. д. в URL. Пожалуйста, помогите мне.

+0

«символы как% $ *; и т.д.»: могли бы вы четко определить, что вы называете символ? –

+0

Почему бы просто не нарисовать '$ film_id' как целое число и проверить, что это от 1 до 1000? – chris85

+0

Я сделал это уже, но верно, для этого мне пришлось делать 'if ($ film_id == 0)', что заставило меня почувствовать себя немного хрупким. –

ответ

3

Вы сказали, что идентификаторы являются числовыми, так:

if(preg_match('/\D/',$film_id)) { 
     echo 'Invalid id for the film'; 
     die(); 
} 

сделает работу

+0

Спасибо, сработало. –

+0

Извините, но ваш первый ответ не подходит, вы отредактировали ответ, и новый ответ сработал –

+0

@JotWaraich: Если он работает для вас, не стесняйтесь отмечать ответ как принятый, он будет полезен будущим читателям. – Toto

Смежные вопросы