簡體   English   中英

PHP的MySQL,如果ID在領域

[英]php mysql if id in field

我的資料庫

評論

ID   mID   aID   attachID
1     1     6       1       
2     2     6       1
3     3     6       1
4     8     6       2
5     4     6       2

所以我想允許訪問具有mID的用戶以訪問attachID。

如果他們正在查看attachID 1,則mID為1或2或3的用戶可以查看。 休息mID不能。

編輯:對於attachID 1,具有mID 1的用戶也可以看到其他mID用戶也可以查看。

什么是實現這一目標的最佳方法?

function authorize($m_id, $a_id) {
   $query = <<<SQL
      SELECT
         TRUE
      FROM
         db.Table
      WHERE
         m_id = $m_id
         AND a_id = $_aid
SQL;
   return mysql_num_rows(mysql_query($query));
}

如果m_id被授權使用a_id,則此函數將返回TRUE,否則返回false。 然后在您的php頁面上,您會看到類似以下內容的內容:

if (!authorize($m_id, $a_id)) {
   header('Location: /not_authorized.php');
}
// Show normal apge for authorized user

如果返回0,則用戶無權查看:

select count(1) from comments where mID = '$mID' and attachID = '$attachID'

獲取給定attachID的所有mID,然后可以將其顯示給查看給定attachID的用戶:

select mID from comments where attachID = '$attachID'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM