基于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 相关文章推荐
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
检测png图片是否完整的php代码
Sep 06 PHP
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
Jun 06 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 PHP
php开发时容易忘记的一些技术细节
Feb 03 PHP
Laravel使用消息队列需要注意的一些问题
Dec 13 PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
Sep 19 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
Jan 22 PHP
PHP时间类完整代码实例
Feb 26 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和ACCESS写聊天室(九)
2006/10/09 PHP
PHP5新特性: 更加面向对象化的PHP
2006/11/18 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
php MessagePack介绍
2013/10/06 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php中序列化与反序列化详解
2017/02/13 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
python中__call__方法示例分析
2014/10/11 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
python unittest实现api自动化测试
2018/04/04 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
商务会议邀请函
2014/01/09 职场文书
标准自荐信范文
2014/01/29 职场文书
《童趣》教学反思
2014/02/19 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
《全神贯注》教学反思
2016/02/22 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
导游词之包公祠
2019/11/25 职场文书
MySQL普通表如何转换成分区表
2022/05/30 MySQL