演示视频:
https://www.bilibili.com/video/BV1dv421r7dh/
5 校友录的详细设计及实现
本网站使用三层架构编写。所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。其中组件层文件包含在App_Code文件夹里。
5.1 校友录客户端设计模块
校友录客户端主要用于用户发布信息,与好友交流。其中分为登录模块,注册模块,首页和个人空间等。
5.1.1 校友录登录模块
校友录登录页面login.aspx,在该文件中调用了login.ascx文件,通过这些文件实现了登录页面内容的显示。登录模块用户普通用户登陆,方便使用校友录的其他功能。
登录的流程图如图5.1所示:
图5.1 登录模块流程图
登陆模块实现过程:
系统先读取用户从键盘上输入的数据。
系统通过调用CheckLogin()函数帮助用户登陆。CheckLogin()函数通过对比用户键入信息与数据库中的信息,决定用户是否具有登录资格。
obj_user.CheckLogin()//调用函数
用户输入用户名与密码后判断该用户是否存在。若存在转到首页,若不存在提示错误再次转到登录页面。
5.1.2 用户注册模块
该模块主要是用于想加入该网站的同学而设的注册模块,用户需要注册后才能使用校友录的用户功能,如发表日志,上传图片等。
注册的流程图如图5.2所示:
图5.2 注册模块流程图
注册模块实现过程:
用户键入各种信息,代系统判断。
obj_user.User_Name=txtname.Text.ToString();//用户名
通过调用函数判断用户名是否存在。
Check_exist()//函数通过读取数据库中的信息与键入信息对比,判断用户名是否存在。
信息检验合格后,调用ExecSQL()函数把数据写入数据库。ExecSQL()包含各种数据库操作的语句。
objbaidu.ExecSQL(addsql)//调用函数,其中addsql为数据库语句变量
注册成功后保持Session,转到空间激活页面。
输入空间名和简介,调用ExecSQL()函数实现写入。转到首页。
用户输入输入用户名等各种资料,系统判断用户名是否存在。若存在转到注册页面。注册成功后进入激活空间页面,填写空间名和简介。确定后进入首页。
5.1.3 校友录首页
校友录首页分为左、中、右三部分。左边的登陆框用于用户登陆,登录用户可以通过左方超链接发表日志、上传照片等。中间部分主要用于显示校友录用户们的最新动态,包括最新日志、最新相册、最新会员等。最右边用户搜索其他用户、显示点击排行。校友录
首页操作流程图如图5.3所示:
图5.3 首页操作流程图
首页面里,分为三大块,用一个大的一行三列表格固定好整个框架,左边用来显示用户登录、注册的基本资料,中间用来显示用户的最新动态,右边用来搜索好友。这时里面所有的信息都从数据库里面读取。
首页实现过程:
用户进入首页,系统读取数据库中的内容,并显示。
显示新的日志信息:
string dlNewsBind = "select top 10 * from tb_wen order by id desc";//从数据库中取出最新的10个照片信息
objbaidu.datalistBind(dlNewsBind, "tb_wen", "id", dlNews); //调用函数绑定数据
绑定新照片和新用户的操作与一上操作基本相同。
首页基本包含整个网站的大体功能,用户可以通过多首页的操作基本实现对整个网站内容的操作。
5.1.4 显示模块
显示模块包含日志显示、相册显示、用户显示三个页面,功能相似。日志显示用于显示所有用户日志,相册显示用于显示所有用户相册,用户显示用于显示所有用户。所有浏览校友录的用户都能查看这些内容。
显示模块流程图如图5.4所示:
图5.4 显示模块操作流程图
5.1.5 班级模块
班级模块中,注册用户可以查看通过管理员审核的班级,并选择自己想要加入的班级申请加入。班级模块的查看方式与其他显示模块相似。下面重点介绍其加入审核功能。
班级模块流程图如图5.5所示:
图5.5 班级模块操作流程图
班级模块实现过程:
班级模块的显示过程与以上显示过程相似。
成员显示只能显示通过验证的成员。
string banjisql = "select * from V_Class where Chk='是' and cid=" + bid;//定义变量,搜索数据库中Chk值为“是”的列
objdb.datalistBind(banjisql, "V_Class", "id", dtlpic); //绑定并显示这些列
下面详细介绍成员审核过程实现的过程。
审核过程主要通过班级数据表中的Chk字段实现。Chk值为是时,表示该成员已经通过班级管理人员的审核。
data.RunSql("update tb_UserClass set Chk='是' where uid='" + bjUid + "'and cid=" + bid);//班级管理人员通过系统操作数据库中的Chk字段,将合格的同学加入班级。
同学申请加入班级需要经过验证,班级的创建者同意后才能加入。
5.1.6 个人空间
个人空间是供用户发布信息的模块,提供日志发布,上传相片,留言与评论功能,还能搜索好友与创建班级。
个人空间流程图如图5.6所示:
图5.6 个人空间操作流程图
5.2 校友录管理端设计模块
5.2.1 后台登录
使用登录页面,可以防止非管理人员随意登录系统,破坏网站资料。只有管理员使用有效名和密码才可以登录后台管理系统,进行操作。在一定程度上保障了安全性。
后台登录的流程图如图5.7所示:
图5.7 后台登录页面流程图
后台登陆模块实现过程:
系统先读取用户从键盘上输入的数据,在查询数据库对比数据是否存在。
dr = data.GetDataReader("select * from Admin where Admin='" + TxtUserName. Text.Trim() + "'and Pwd='" + TxtPassword.Text.Trim() + "'");//打开数据库查询键入信息是否正确
如果信息正确,则保持Session,并且转到管理页面首页。
Session["admin"] = dr["Admin"].ToString();//保持Session
用户输入用户名与密码后判断该用户是否存在。若存在转到首页,若不存在提示错误再次转到登录页面。如有一项与数据库中的记录数据不同,就返回登录页面,重新输入登录名和密码。
5.2.2 管理功能
管理功能分为用户管理、日志管理、班级管理、相册管理、评论管理、留言管理等几个功能相似的模块,可以查看用户资料,并能删除用户资料。
管理功能流程图如图5.8所示: