2017-04-24 24 views
-3

私は、GETメソッドを使用してURLのカテゴリに基づいてスレッドにアクセスするフォーラムを作成しています。 URLにパラメータがない場合はエラーページにリダイレクトしたいが、これは私のサイト全体で使用できる汎用コードにしたい。URLにANY PHPパラメータが存在するかどうかを確認する方法

localhost/myforum/threads.php 

それはにリダイレクトしている:URLがあるときになるように

localhost/myforum/threads.php?categoryid=1 

が、私はそれをしたい:

URLは通常、カテゴリIDが含まれます:たとえば

このコードはウェブサイト全体で使用可能であることを確認してください。

+0

あなたの質問には答えがあります。 $ _GET配列、またはhttp://php.net/manual/en/function.parse-url.phpを確認してください。 – Peter

答えて

1

if (empty(array_diff($_GET, ['']))) { 
    header("Location: /path/to/error.php"); 
} 

EDIT:空の値を削除するために更新

+0

if条件を閉じるために空の呼び出しの後に閉じ括弧を追加してください。 –

+0

@ TurboPTそれを逃した、ありがとう。 –

+0

@PedroLobito trueを返します。 –

0

試してみてください。

$gets = parse_url($url)); 
if($gets['query'] == "") 
{ 
    echo "No GET variables"; 
} 
0

あなたは、パラメータは次のように存在するかどうかを確認するためにis_set使用することができ、

isset($_GET) 
+1

'isset'は' is_set'ではなく、これはcategoryidというパラメータだけをチェックし、他のパラメータはチェックしません。 –

0

最も信頼できる方法は、URLに疑問符が含まれているかどうかを確認することです。

if (false !== strpos($_SERVER['REQUEST_URI'], '?')) { 
    // There is a query string (including cases when it's empty) 
} 
関連する問題