多谢版主大神,,我想实现的是,封禁该用户发言功能..但是其他比如浏览等功能照常...
我这样设想:
正常用户`状态字段`都是1...
禁言用户 `状态字段`  设为time()+禁言时间...
每次权限判断都要看一下`状态字段`值是否小于time()...
但是这样 sql查询时.....但是每次判断是否小于time() 肯定没有判断是否为1来的快吧...

解决方案 »

  1.   

    多谢版主大神,,我想实现的是,封禁该用户发言功能..但是其他比如浏览等功能照常...
    我这样设想:
    正常用户`状态字段`都是1...
    禁言用户 `状态字段`  设为time()+禁言时间...
    每次权限判断都要看一下`状态字段`值是否小于time()...
    但是这样 sql查询时.....但是每次判断是否小于time() 肯定没有判断是否为1来的快吧...

    同意在登陆时做检查。
    1.封禁用户最多占网站整体用户的20%(如果封禁用户到达80%,那这个论坛也就快关了),没必要用80%的时间做各种各样的设计和开发(诸如自动执行脚本之类,这会给你增加维护成本);
    2.封禁用户并非网站的典型用户,即使他登陆时,sql查询慢点,有何不可?别本末倒置;
      

  2.   

    多谢版主大神,,我想实现的是,封禁该用户发言功能..但是其他比如浏览等功能照常...
    我这样设想:
    正常用户`状态字段`都是1...
    禁言用户 `状态字段`  设为time()+禁言时间...
    每次权限判断都要看一下`状态字段`值是否小于time()...
    但是这样 sql查询时.....但是每次判断是否小于time() 肯定没有判断是否为1来的快吧...

    为什么要每次SQL查询来判断呢?你可以在登陆的时候就把数据读出来,跟登陆状态放一起(一般是Session或者Cookie),直接与这里的数据对比就行了。