关于限制某等级访问某栏目的文章

2016-09-11 20:40 来源:www.chinab4c.com 作者:ecshop专家



打开article.php(注意备份)。在以下代码上面

/*------------------------------------------------------ */
//-- PROCESSOR
/*------------------------------------------------------ */

加入:

/*------------------------------------------------------ */
//-- 判断权限才能访问某栏目
/*------------------------------------------------------ */
$cat_id = $db->getOne("SELECT cat_id FROM " . $ecs->table('article') . " WHERE article_id = '".intval($_REQUEST['id'])."' ");
  if (($cat_id == 16 or $cat_id == 15) && $_SESSION['user_rank'] <= 1)
   {
    show_message("对不起,此篇文章仅对VIP会员开放", $_LANG['ws_return_home'], 'index.php');
   }

解释一下大概含义:
$cat_id = $db->getOne("SELECT cat_id FROM " . $ecs->table('article') . " WHERE article_id = '".intval($_REQUEST['id'])."' ");

查询数据库,获取当前栏目=让当前文章ID($_REQUEST['id'])=数据库中的文章ID(article_id)所以得到了一个栏目(即当前栏目)

  if (($cat_id == 16 or $cat_id == 15) && $_SESSION['user_rank'] <= 1)

判断,如果((这个栏目=16(自己更改成自己想限制的栏目) 或者 这个栏目等于15)并且当前用户等级<=1时)

   {
    show_message("对不起,此篇文章仅对VIP会员开放", $_LANG['ws_return_home'], 'index.php');
   }
写入一句提示的话。

小提示:

1.上面我限制了两个栏目,如果只想限制一个栏目的话
if ($cat_id == 15 && $_SESSION['user_rank'] <= 1)
2.代码中有三处红色数字,自己打开数据库查。