2011-09-12 10 views
0
<?php 
$error = 'error'; 
$check = $_SERVER['REQUEST_URI']; 
if($check == "/bleachers.php") 
{ 
    echo 'bleachers'; 
} 
elseif($check == 'runners.php') 
{ 
    echo 'runners'; 
} 
else 
{ 
    echo $error; 
} 
?> 

私はこれがなぜ機能していないのか把握しようとしています。私はウェブサイトのURLに基​​づいてテキストをエコーし​​ようとしています。 URLがsite.com/bleachers.phpの場合、エコーブリーカー elseif site.com/runners.phpエコーランナーエコーエラー。URL文の場合

私はURLをsite.com/bleachersと入力し、代わりにエラーが表示されます。変更と

+2

これは実際に何かを知るために 'var_dump($ _ SERVER ['REQUEST_URI'])'を使ったことがありますか?どのようなサーバーソフトウェアですか? – alex

+0

'echo $ check;'を試してください。実際にあなたが間違っていることが分かり、推測を止めることができます。あなたがデバッグしているときには何も仮定しないでください。あなたの脳をオンにして常にデバッグしてください。 – hakre

+2

デバッグ101:プログラムが同じではないと思われる2つのことがある場合、通常は次のステップはそれらを印刷し、自分の話していることを確認することです。 – Jon

答えて

2

スタート:

else echo $error; 

には:

else echo $_SERVER['REQUEST_URI']; 

これはあなたが実際にif文でどうあるべきかを決定するのに役立つはずです。

+0

私はどこにあなたをお粗末に見た – user836910

0

環境変数がREQUEST_URIに設定されていないIISで実行されている可能性があります。

You can add it yourself

また、コードを自分でデバッグする習慣を身に付ける必要があります。 ...使用することによって、ここで先頭に、それが実際に設定されている

var_dump($_SERVER['REQUEST_URI']); 

を開始し、それはあなたが一致しようとしている正しい文字列が含まれていることを確認。