2014-05-04 28 views
-1

基本上,我編寫的腳本只是將用戶重定向到目標頁面。我希望能夠檢查多個網站是否與價值不相等;如果是這樣,它會運行一個錯誤,否則它會繼續。如何在if語句中包含2個支票

雖然我確信有一種方法可以檢查多個值,但似乎無法得到此工作。

<?php 
$url = $_GET['site']; // gets the site URL the user is being redirected to. 

if ($url != "***.co", "***.net") 
    { 
    echo ("Website is not valid for redirection."); 
    } else { 
    echo ("You are being redirected to: " . $url); 
    } 
?> 

回答

3

可以使項目的數組來檢查,然後檢查網址是數組中:

if (!in_array($url, array("***.co", "***.net"))) 
{ 
} 

您也可以使用多個條件像@wrigby表現,但解決方案使用數組可以更容易地添加更多(或動態數量)的網址。但如果總是有兩個,他會更好。

+0

乾杯:)雖然在if語句的結束有缺失)。 – user3601641

+0

謝謝。修復。 :) – GolezTrol

1

你需要兩個完整的條件語句,與一個邏輯連接和(& &)操作:

<?php 
$url = $_GET['site']; // gets the site URL the user is being redirected to. 

if ($url != "***.co" && $url != "***.net") 
    { 
    echo ("Website is not valid for redirection."); 
    } else { 
    echo ("You are being redirected to: " . $url); 
    } 
?> 
+0

@GolezTrol:感謝您撿起我的錯字! – wrigby

+0

@ user3601641您可能還想考慮在URL上調用strtolower,以便如果傳入大寫URL,您的條件仍然可以正常工作:'$ url = strtolower($ _ GET ['site'])' – wrigby