2016-11-28 112 views
0

我有一個if語句,它應該重定向訪問者,如果他們不來自Facebook,Facebook移動或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!"; 
    } 
    ?> 

,如果我只用if($ref != $facebook) {... ofcause只有當我來自Facebook的裁判工作得很好。 :)

+7

使用'和'而不是'或'? –

+1

附註'$ _SERVER ['HTTP_REFERER']'是不可靠的(我討厭facebook) – 2016-11-28 21:08:28

+0

$ ref將始終與這3條語句中的至少兩條匹配。如果它的臉書,它不facemob和它不instagram。如果它的facemob它不是Facebook和不是Instagram。如果它的instagram,它不是facemob,而不是Facebook。如果它的谷歌,它不是Facebook,facemob或instagram ... – bart2puck

回答

0

您的If聲明沒有意義。它總是經歷。即使$ref==$facebook,這意味着$ref!=$instagram例如。這意味着它將永遠不會通過else聲明。它不能是所有這些,但要通過else聲明,$ref必須等於$facebook,$instagram$facemob。這是不可能的。您正在尋找AND而不是OR