2017-01-13 9 views
-1

$_GET['id']の値をページから他のページにフェッチしています。 idは1から1000までの数字です。これで、キーボードのさまざまな文字をURLに入れたら、例外が発生します。私はのように正規表現と-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

あなたはIDがそう、数値で言った:「%の$の*などの記号は、等」

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

+0

ありがとうございました。 –

+0

申し訳ありませんが、あなたの最初の回答は適切ではなく、あなたは答えを編集しました。新しい回答が働いた –

+0

@JotWaraich:それはあなたのために働く場合、答えを受け入れられたと自由に感じてください。 – Toto

関連する問題