2015-06-22 61 views
-5

錯誤 - 無法表達式的結果使用isset()函數(您可以改用「空==表達!」)致命錯誤,如果stament

我越來越如果開始上述錯誤聲明和其他行。

我按照我的方式完成了代碼,因爲$ user_id是從下拉框中選擇的,除非它是該框中沒有值的第一個選項。

下面的代碼應該能夠判斷下拉框中的選項是否有值。如果是這樣,它只顯示與該用戶相關的信息。否則,它會顯示一切。

$user_id = $_REQUEST['userid']; 
    $user_hack = 0; 

    echo $user_hack; 

    if(isset($user_id > $user_hack)) 
    { 
     echo "Yup"; 

     $sql = "SELECT ub.id, users.name, individualbadges.badgename, ub.level FROM userbadges ub INNER JOIN users ON users.id = ub.user_id INNER JOIN individualbadges ON individualbadges.id = ub.badge_id WHERE users.id = $user_id "; 
    } 
    else 
    { 
     die("Parameter is missing!"); 

     $sql = 'SELECT ub.id, users.name, individualbadges.badgename, ub.level FROM userbadges ub INNER JOIN users ON users.id = ub.user_id INNER JOIN individualbadges ON individualbadges.id = ub.badge_id'; 
    } 
    $query = mysqli_query($connection, $sql); 
+2

錯誤告訴你到底發生了什麼問題。 'isset()'用於變量,而不是表達式。 – David

+0

'isset()只能與變量一起工作,因爲傳遞任何東西都會導致解析錯誤http://php.net/manual/en/function.isset.php –

回答

1

只要改變條件:

if(isset($_REQUEST['userid']) && $_REQUEST['userid'] > $user_hack) 

isset講述是一個變量設置,而這種說法可能是真的還是假的,可以在其上不叫isset功能。

在檢查if(isset($_REQUEST['userid']))之前,不能將其分配給$userid變量。

+0

你能幫忙嗎 - 注意:未定義索引:userid中。當頁面第一次加載時,我會得到這個。 – Jess

+0

,因爲您不檢查它是否設置爲第一個。只需在'if'條件後面移動'$ user_id = $ _REQUEST ['userid'];'賦值,那麼它肯定會被設置。 –