php教程 PHP源码 基于mysql的bbs设计(三)

基于mysql的bbs设计(三)

Jun 08, 2016 pm 05:33 PM
char int

<script>ec(2);</script>
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数据库,
是否将一般指令归到特权指令中去呢?权限的检查,是放在这一层还是上一层?
这更多的是看考虑的着重点,是看程序的清晰性还是代码的简练,可能还是
看代码吧,毕竟要考虑访问量,另外,上层服务层是否也应该考虑权限检查
问题呢?
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

double 유형 변수를 int 유형으로 변환하는 C++ 프로그램 double 유형 변수를 int 유형으로 변환하는 C++ 프로그램 Aug 25, 2023 pm 08:25 PM

double 유형 변수를 int 유형으로 변환하는 C++ 프로그램

PHP에서 int형을 바이트형으로 변환하는 방법에 대한 자세한 설명 PHP에서 int형을 바이트형으로 변환하는 방법에 대한 자세한 설명 Mar 06, 2024 pm 06:18 PM

PHP에서 int형을 바이트형으로 변환하는 방법에 대한 자세한 설명

java int에는 몇 개의 숫자가 있습니까? java int에는 몇 개의 숫자가 있습니까? Mar 06, 2023 pm 04:09 PM

java int에는 몇 개의 숫자가 있습니까?

int32의 값 범위는 무엇입니까? int32의 값 범위는 무엇입니까? Aug 11, 2023 pm 02:53 PM

int32의 값 범위는 무엇입니까?

int는 몇 바이트를 차지합니까? int는 몇 바이트를 차지합니까? Jan 22, 2024 pm 03:14 PM

int는 몇 바이트를 차지합니까?

문자열을 int형으로 변환하는 방법 문자열을 int형으로 변환하는 방법 Aug 02, 2023 am 10:59 AM

문자열을 int형으로 변환하는 방법

Java에서 문자열을 Int로 변환하는 방법 Java에서 문자열을 Int로 변환하는 방법 May 15, 2023 pm 02:22 PM

Java에서 문자열을 Int로 변환하는 방법

Go 언어에서 int를 문자열 유형으로 변환하는 방법 Go 언어에서 int를 문자열 유형으로 변환하는 방법 Jun 04, 2021 pm 03:56 PM

Go 언어에서 int를 문자열 유형으로 변환하는 방법

See all articles