2016-11-22 6 views
0

私はいくつかのセクションを持つ小さなマガジンをセットアップしていますが、すべて同じPHPページから動作します。PHP IF/ORが動作しない

公式セクションにいない場合、人々をホームページに戻すことを希望します。したがって、この私のコードです:

<?php 
    if (isset($_GET["section"])) { 
     $section = $_GET["section"]; 
    } else { 
     header("Location: $site_url"); 
     exit(); 
    } 

    if ($section !== 'gallery' || $section !== 'magazine' || $section !== 'picks' || $section !== 'customs' || $section !== 'editor') { 
     header("Location: $site_url"); 
     exit(); 
    } 
?> 

問題は、私はlocalhost/results.php?section=galleryを訪問するとき、私はそれがIfステートメントであっても、バックホーム・ページにリダイレクトされています、です。これはなぜ誰でも知っていますか?

+2

それらを論理和ではない、あなたの可能性セクションの論理積を試してみてください.... PHPが、それらのテストのいずれか*が真である*場合は、 –

+1

を行うには、それを教えて正確に何やっている、あなたはホームページに戻ります。それらのうちのいくつかは常に真実になります。 –

答えて

1

これは常に trueになります。

$section !== 'gallery' || $section !== 'magazine' || ... 

同じ変数が同時になることはありませんので、複数の値。私はあなたが&&を使用することを意図疑う:

$section !== 'gallery' && $section !== 'magazine' && ... 
関連する問題