2016-11-28 9 views
0

私はif文を持っています。もしfacebook、facebook mobile、instagramから来ていないなら、訪問者をリダイレクトするべきです。if文で何が問題なのかわかりません

$ref   = $_SERVER['HTTP_REFERER']; 
    $facebook  = "https://www.facebook.com/"; 
    $facemob  = "https://www.m.facebook.com/"; 
    $instagram  = "https://www.instagram.com/"; 

    if ($ref != $facebook or $ref != $facemob or $ref != $instagram) { 
     echo "my header location here../ you are not welcome"; 
    } else{ 
    echo "Welcome!"; 
    } 
    ?> 

私はFacebookの参照から来る場合、私は唯一の唯一のofcause if($ref != $facebook) {...を使用する場合、それだけで正常に動作します。 :)

+7

'または'の代わりに 'と'を使用しますか? –

+1

side note '$ _SERVER ['HTTP_REFERER']'は信頼できません(そして私はfacebookが嫌いです) –

+0

$ refはこれらの3つのステートメントのうち少なくとも2つと常に一致します。そのFacebookの場合、そのfacemobではなく、そのinstagram。 facemobがfacebookでなくinstagramでない場合。そのInstagram、そのfacemobではなく、そのfacebookでなければ。そのGoogle、そのfacebook、facemobまたはinstagramでない場合... – bart2puck

答えて

0

Ifステートメントは意味がありません。それはいつも通り抜けている。 $ref==$facebookであっても、例えば$ref!=$instagramを意味する。これは決してelseステートメントを通過しないことを意味します。それらはすべてではありませんが、elseステートメントを通過するには、$ref$facebook,$instagramおよび$facemobと等しくなければなりません。これは不可能です。 ORの代わりにANDを探しています。

関連する問題