基于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代码
Dec 06 PHP
Dedecms常用函数解析
Feb 01 PHP
PHP Document 代码注释规范
Apr 13 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
PHP实现的迷你漂流瓶
Jul 29 PHP
基于PHP制作验证码
Oct 12 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
php的优点总结 php有哪些优点
Jul 19 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
javascript工具库代码
2012/03/29 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
业务主管岗位职责范本
2013/12/25 职场文书
物业保安岗位职责
2014/07/02 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
毕业论文致谢信
2015/05/14 职场文书
房产电话营销开场白
2015/05/29 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python
vue中 this.$set的使用详解
2021/11/17 Vue.js