2011-06-21 14 views
0

私はこれらのリンクのページにいくつかのテキストを追加したい、次のif条件部分の書き方は?

https://example.com/cart.php 
    https://example.com/cart.php?gid=1 
    https://example.com/cart.php?gid=2 
    https://example.com/cart.php?a=view 
    https://example.com/cart.phpcart.php?a=confproduct&i=0 
....... 

など、いくつかのリンクがあります。 if条件を記述する方法は?

if($_SERVER['REQUEST_URI']=='/cart.php'||......) 

これを行う簡単な方法はありますか?

答えて

1

このような用途$_SERVER['PHP_SELF']、:

if($_SERVER['PHP_SELF'] == "/cart.php"){ 
    // do stuff 
} elseif($_SERVER['PHP_SELF'] == "/anotherpage.php"){ 
    // do other stuff 
} 
1

アレイに配置し、in_array()を使用します。

$pages = array(
    '/cart.php', 
    '/cart.php?gid=1', 
    '/cart.php?gid=2', 
    '/cart.php?a=view' 
); 

if(in_array($_SERVER['REQUEST_URI'], $pages)) { 
    // ... 
} 
+0

これらはすべて同じ**ページです** ... –

+0

@AJ彼らは異なったGETパラメタを持っています。彼がそれらについて知りたいと思ったと仮定します。 – alex

2

文字列の比較はどうですか?

$mystr = "https://example.com/cart.php"; 
if (0 != strncmp($_SERVER['REQUEST_URI'], $mystr, strlen($mystr)) { ... } 

strncmp最初N文字を比較します。カウントはstrlenで渡します。

0

これらのようなあなたのリンクがあまりにも多くされていない場合、あなたは@zhuanzhouが言った方法を使用することができます。

そうでない場合は、その後、

https://example.com/cart.php?rule=1 
https://example.com/cart.php?gid=1&rule=1 
https://example.com/cart.php?gid=2&rule=1 
https://example.com/cart.php?a=view&rule=1 

のように、URIに新しい引数を追加していない理由を、あなたのコードは次のようになります

if($_GET['rule'] === 1){ 
// something here 
} 
+0

ルールをURLに追加するには?ありがとうございました。 – zhuanzhou

+0

手作りです。つまり、あなたはこれらのウルの共通ルールを見つけて、簡単に処理できるはずです。 argを追加する方法は一つですが、一般的なphp filenameやcommon dirを持つことができます。 – flykobe