2009-07-23 8 views
0

訪問者が特定のURLを読み込むとロードしたくない単純なdivがあります。URLに次のものが含まれている場合、これを表示しない

それは次のようになります。

<?php 
if(stristr($_SERVER['PHP_SELF'], 'blog') == FALSE ) 
{ 

echo "<div id="stuff"></div>"; 

} 
?> 

問題は、私はまだショーをwww.url.com/blogのdiv#のものをロードするとき、それは...動作しません...です。

私はちょうど睡眠が不足しているか上記の作業が必要ですか?あなたのブログにURLが含まれている場合、div表示をしないようにするにはどうすればよいですか?

答えて

6

ではなく$_SERVER['REQUEST_URI']をお試しください:

if (substr($_SERVER['REQUEST_URI'], 0, 5) !== '/blog') { 
    echo '<div id="stuff"></div>'; 
} 

REQUEST_URIが要求されたURIのパスとクエリとPHP_SELFがないよう、現在実行中のスクリプトだけではなく、ファイル名が含まれています。 OPのバージョンは、私の作品

http://us2.php.net/manual/en/function.stristr.php

+0

魅力を働きました! – willdanceforfun

1

は、第二の例のよう===演算子を使用してみてください。ただし、echo()構文エラーを修正してください。

echo "<div id=\"stuff\"></div>"; 

PHPバージョン5.2.9でテスト

+0

はsubstrよりもこの種の状況に対してstristrが優れていますか?例えば、より速い/より少ないサーバーリソース? – willdanceforfun

3

:上

+0

ありがとう!ええ、それは私の貧しい擬似コーディングでした... – willdanceforfun

関連する問題