基于mysql的bbs设计(三)


Posted in PHP onOctober 09, 2006

4。用户模块设计
  对于底层数据库,调用mysql的C API函数来进行数据库的修改,内部保存
一定的状态变量(例如用户名,还是留给上一层完成?),对上一层,则提供
用户管理的接口。
  Class UserManage {
  private:
    char  myuserid[20]; // 用户的id,未登陆前为空
    time  logintime; // 用户登陆时间,并用于计算停留时间
    char  loginhost[20]; //上站地点。

  public:
    int NewUser( char *userid, char *passwd );
      新建一个用户,判断是否已经有,其他资料暂时为空,
      firstlogintime,权限等设缺省值。
    int UserLogin( char *userid, char *passwd );
      用户登陆,验证密码,
    int ChangePasswd( char *oldpasswd, char *newpasswd );
      修改密码,要求原密码一致。
    int ChangePriData( char *newname, char *newemail,
              char *newaddr );
      改变基本数据,泥称,email,住址。。。。
    int ModifyNumData( int addlogin, int addpost );
      修改文章数,上站次数,等数据。。。。注意调用对象。
    int UserLogout();
      用户退出,修改lastlogin,staytime,loginhost等

    // 普通查询命令
    int QueryCommonData( const char * userid, int& loginnum,
            char * username, int& postnum,
            time& lastlogin, char *lasthost );
      查询网友基本信息。

    // 特权指令,函数在完成功能前,先判断权限。
    int QueryPriData( const char * userid, char *email,
              char *addr );
      查询基本信息,普通人只能查自己,有特权才能查其他人。
    int ModifyUserLevel( BOOL isAdd, unsigned long level );
      修改用户的权限,
    int ModifyUserId( char *oldid, char *newid );
              char *newemail, char *newaddr );
      修改用户的基本数据。
    int ModifyUserNumdata( char *userid, int addlogin, int addpost );
      修改用户的文章数等数据。
    int ModifyUserPasswd( char *userid, char *newpasswd );
      修改用户的密码。
  }
    以上各个函数难度不大,都是执行相应的sql语句,访问mysql数据库,
  是否将一般指令归到特权指令中去呢?权限的检查,是放在这一层还是上一层?
  这更多的是看考虑的着重点,是看程序的清晰性还是代码的简练,可能还是
  看代码吧,毕竟要考虑访问量,另外,上层服务层是否也应该考虑权限检查
  问题呢?

PHP 相关文章推荐
第十三节--对象串行化
Nov 16 PHP
php中处理模拟rewrite 效果
Dec 09 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
Jun 03 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
php上传图片并压缩的实现方法
Dec 22 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
Aug 01 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
PHP命令Command模式用法实例分析
Aug 08 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
支持oicq头像的留言簿(一)
Oct 09 #PHP
NT IIS下用ODBC连接数据库
Oct 09 #PHP
怎样在UNIX系统下安装php3
Oct 09 #PHP
怎样在UNIX系统下安装MySQL
Oct 09 #PHP
关于文本留言本的分页代码
Oct 09 #PHP
支持oicq头像的留言簿(二)
Oct 09 #PHP
一个ubbcode的函数,速度很快.
Oct 09 #PHP
You might like
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
php过滤危险html代码
2008/08/18 PHP
HTML5附件拖拽上传drop & google.gears实现代码
2011/04/28 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
python opencv之SURF算法示例
2018/02/24 Python
遗传算法python版
2018/03/19 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
Python使用gRPC传输协议教程
2018/10/16 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
美国美妆网站:B-Glowing
2016/10/12 全球购物
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
挂靠协议书范本
2014/04/22 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书