2016-05-21 43 views
-2

所以我正在研究一個商場腳本,我決定做的第一件事是登錄註冊系統。無論如何,有2個註冊頁面。一個用於管理員,一個用於用戶。管理員將隱藏用戶的另一個目錄(例如:admincp/signup.php)。所以當你註冊成爲用戶時,女巫的作品完美無缺。所有的數據獲取作品等。當您註冊爲用戶時,它將名爲admin的數據庫中的一行設置爲0.(管理員註冊會將其設置爲1)。管理檢查函數返回錯誤結果

<?php 

    // Exeute the connection to the database 
    require("common.php"); 

    // Is the user logged in? 
    if(empty($_SESSION['user'])) 
    { 
     // If the are not lets send em away 
     header("Location: login.php"); 

     // We MUST do this. Or else people can view this page without logging it 
     die("Redirecting to login.php"); 
    } 
    function isAdmin($number) 
    { 
     if ($number = 0) 
     { 
      return false; 
     } 
     if ($number = 1) 
     { 
      return true; 
     } 
     if ($number > 1) 
     { 
      // adminTF is short for adminTrueFalse 
      return "Invalid adminTF key"; 
     } 
    } 

?> 
Hello 
<?php echo htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8'); ?>, 
you have <?php echo htmlentities($_SESSION['user']['coins'], ENT_QUOTES, 'UTF-8'); ?> 
coins and you are <?php 
         if (isAdmin(0) == true) 
         { 
          echo "an admin."; 
         } 
         else 
         { 
          echo "not an admin."; 
         } 
        ?> 
<br /> 
<a href="memberlist.php">Memberlist</a><br /> 
<a href="edit_account.php">Edit Account</a><br /> 
<a href="logout.php">Logout</a> 

好了,所以當你讀它,你可以告訴它是應該告訴我,如果用戶是管理員或不是一個函數。因爲我在調試,我只是想告訴我,我不是管理員。但即使當我插入所需的密鑰爲零,它仍然告訴我,我是一個管理員。即使它應該告訴我,我不是一個人(因爲這個數字是零),它會說「你是管理員。」

+0

「對不起,把它放到另一個網站,整個代碼是相關的,這個網站不會讓我適應了文本之後」 - 據我所知,StackOverflow沒有字符限制。 –

+0

順便說一句,你的'isAdmin'功能幾乎是沒有任何操作。只要'if($ adminTF)'會做(其中'$ adminTF'是包含管理標誌的變量) –

+0

將您的問題標題更新爲與您的實際問題相關的內容。 – naomik

回答

3

您正在使用=(賦值運算符)而不是==(比較)。

+0

謝謝你的幫助伴侶。我不相信我坐了45分鐘,一行一行地閱讀,我從來沒有看到。感謝您的幫助:D @Alex –