成都学院学士学位论文(设计) 4 系统实现
4.1 系统前台的实现
(1)系统前台用户注册的实现
此模块的功能是用户进行注册,用户添入相关的个人信息。添入的信息提交到后台的处理页,在处理页中将前台传过来的信息进行接受,之后用数据库操作语句将这些数据插入到人员信息表中。在保存会员信息时,还需要判断会员名是否存在,必须保证会员名称的惟一性。注册成功后可以使用本系统进行发帖回帖等操作。
该功能操作的数据库表为member表,用户键入信息为:用户名、密码、姓名、性别、生日、身份证号、邮箱,头像等个人常规信息。
图4-1 用户注册界面
涉及到的SQL有检查用户名的唯一性和执行插入,具体SQL语句如下:
select * from member where uname='\
Insert into member(uname,upass,tname,sex,birth,idcard,email,img,lockstatus,Delstatus, Savetime) values('\,'\正常','0','\;
(2)系统前台会员登陆模块
此模块为会员登陆论坛后获取更多操作权限,会员键入正确的用户名和密码登陆后,可以修改个人信息,选择版块发帖,回复自己或他人的帖子等。
22
成都学院学士学位论文(设计)
图4-2 用户登录界面
用户登陆操作的数据库表为member,匹配用户名密码是否存在,如果存在则准予登陆,并将用户信息保存在SESSION中,供全局调用。涉及到的具体SQL为:
select * from member where uname='\and lockstatus='正常' and delstatus='0'
为了用户信息的安全性,本系统采用了密码MD5加密,在用户注册时,密码通过MD5加密后存入数据库,在登陆时会将用户提交的密码通过MD5加密后与数据库中保存的密码进行比对,如果比对成功则登陆成功,如果比对失败则提示用户名或密码错误。
4.1.1 会员信息修改
会员登陆后可以对自己的个人信息进行修改,由于用户名为系统用户唯一标识,故不能修改。会员信息修改操作的数据库表为member,执行的具体SQL语句如下: Update member set upass='\birth='\
图4-3 信息修改界面
23
成都学院学士学位论文(设计) 4.1.2 会员发帖模块
会员登陆后选择版块进入版块帖子列表界面,点击“我要发帖”链接,界面跳转至帖子编辑界面,键入标题、内容、图片后点击提交按钮,则可以进行发帖。
图4-4 发帖界面
发帖操作的数据库表为tz,帖子关联到版块,每个版块内帖子列表只查询属于该版块的帖子。保存发帖的具体SQL语句为:
insert into tz(title,content,img,member,savetime,boardid,zdstatus,jhstatus,looknum,fatherid ) \+\+Info.getDateStr()+\
在执行以上SQL前,通过查询管理员设置的非法字符,来对发帖内容进行过滤,字符串过滤的方法为:
ArrayList
4.1.3 会员回帖模块
会员选择某一主题进入主题详情,可以在本界面针对本帖进行回帖操作,当会员编辑回帖信息提交后,系统自动通过SESSION中保存的当前会员信息,将回帖人等信息提取后和回帖信息一并保存在tz表中,为了系统数据库表的简洁,本系统的发帖和回帖保存在同一张表内,主题的FATHERID为0,表示为父帖,若是回帖,则FATHERID为
content=content.replaceAll(m.get(\
24
成都学院学士学位论文(设计) 父帖的ID,在前台页面中父由的展示以及回帖的展示也是根据此规则来体现的,回帖功能涉及的数据库表为tz ,执行的SQL语句为: insert into tz (content,member,savetime,fatherid)
values ('\
方法执行完成后,页面跳转至帖子详情页,会员即可以看到自己回帖的内容。
图4-5 回复界面
4.1.4 版主管理帖子模块
版主的角色相当于是一个前台管理员,既拥有普通会员的所有权限,也可以对版内的帖子进行管理(帖子置顶,精华帖,删帖),下面首先描述如何判断当前用户为版主,当会员登陆后,SESSION记录会员信息,在版块信息中记录了管理员指定的版主用户名,会员成功登陆后,系统将当前会员的会员名与版块信息中记录的版主用户名进行对比,如果相符,则此会员为版主,否则为普通会员,在版块内帖子列表页,系统通过判断当前会员是否为版主来为版主设置置顶、精华、删帖,否则普通会员不会拥有这些权限。
图4-6 帖子管理界面
当版主设置了某帖为置顶时,该帖的置顶状态更新为YES,此帖则会以蓝色的标题显示在本版块的顶部,本功能涉及的SQL语句为: \
25
成都学院学士学位论文(设计) 反之,取消置顶则把置顶状态更新为NO 设为精华帖的SQL语句为: \
反之,取消精华则把精华状态更新为NO 删除帖的SQL语句为: \
4.2 系统后台的实现
此模块为管理员登陆论坛后获取更多操作权限,管理员输入正确的用户名和密码登陆后,可以修改个人信息,会员管理,版块管理,公告管理,非法字符管理等。
图4-7 后台登录界面
4.2.1 会员管理模块
后台管理员登陆后可以对本论坛的注册会员进行管理,对会员的帐号进行锁定,会员管理的界面设计如下:
图4-8 会员管理界面
26