基于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
php 禁止页面缓存输出
Jan 07 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
PHP7正式版测试,性能惊艳!
Dec 08 PHP
基于PHP生成简单的验证码
Jun 01 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
Sep 19 PHP
php接口技术实例详解
Dec 07 PHP
smarty模板数学运算示例
Dec 11 PHP
PHP后端银联支付及退款实例代码
Jun 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
如何开发一个虚拟域名系统
2006/10/09 PHP
ajax缓存问题解决途径
2006/12/06 PHP
有关php运算符的知识大全
2011/11/03 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
python执行外部程序的常用方法小结
2015/03/21 Python
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
酒吧总经理岗位职责
2013/12/10 职场文书
中学家长会邀请函
2014/02/03 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
酒店温馨提示语
2015/07/14 职场文书
卫生主题班会
2015/08/14 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS