基于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 和 MySQL 基础教程(四)
Oct 09 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
php旋转图片90度的方法
Nov 07 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
Jan 22 PHP
PHP URL参数获取方式的四种例子
Feb 28 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
Json_encode防止汉字转义成unicode的方法
Feb 25 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 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 咖啡文化
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
js获取 type=radio 值的方法
2014/05/09 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
js实现聊天对话框
2020/02/08 Javascript
python图像常规操作
2017/11/11 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
同程旅游英文网站:LY.com
2018/11/13 全球购物
工商企业管理应届生求职信
2013/11/03 职场文书
业务经理的岗位职责
2013/11/16 职场文书
承办会议欢迎词
2014/01/17 职场文书
幼儿园家长评语
2014/02/10 职场文书
人事专员岗位说明书
2014/07/29 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
收入证明范本
2015/06/12 职场文书
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
Promise静态四兄弟实现示例详解
2022/07/07 Javascript