基于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 相关文章推荐
使用Apache的rewrite技术
Jun 22 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
PHP中Date()时间日期函数的使用方法小结
Apr 20 PHP
php 网上商城促销设计实例代码
Feb 17 PHP
解析dedecms空间迁移步骤详解
May 15 PHP
探讨如何在php168_cms中提取验证码
Jun 08 PHP
php动态函数调用方法
May 21 PHP
php实现的任意进制互转类分享
Jul 07 PHP
PHP中Session和Cookie是如何操作的
Oct 10 PHP
PHP基于GD库的图像处理方法小结
Sep 27 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
PHP数组array类常见操作示例
May 15 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
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
js中的面向对象入门
2017/03/06 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
深入理解Node内建模块和对象
2019/03/12 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
python通过加号运算符操作列表的方法
2015/07/28 Python
python如何实现excel数据添加到mongodb
2015/07/30 Python
python表格存取的方法
2018/03/07 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
高级Java程序员面试要点
2013/08/02 面试题
入党转预备思想汇报
2014/01/07 职场文书
写给妈妈的道歉信
2014/01/11 职场文书
汽车维修工岗位职责
2014/02/12 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
购房委托书
2014/10/15 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
教师旷工检讨书
2015/08/15 职场文书
爱护公物主题班会
2015/08/17 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL