PHP学生信息系统的实现.docx
《PHP学生信息系统的实现.docx》由会员分享,可在线阅读,更多相关《PHP学生信息系统的实现.docx(9页珍藏版)》请在冰豆网上搜索。
PHP学生信息系统的实现
5.详细设计
5.1数据库设计
数据库使用了6个表:
think_access、think_form、think_group、think_node、think_role_user、think_user分别储存了用户权限、学生成绩信息、后台界面信息、后台执行操作页、用户管理页、登陆页的相关条目和信息。
其结构设计如表5.1——5.6所示:
5.2网站设计
5.2.1网站结构(用户部分)
网站的成绩查询登陆页设计如图1所示:
此界面为用户登录界面,大体分为3种用户:
学生,老师,管理员。
以不同的用户登陆会拥有不同的权限。
在页面的后台代码中首先注册如下信息:
//用户登录页面
publicfunctionlogin(){
if(!
isset($_SESSION[C('USER_AUTH_KEY')])){
$this->display();
}else{
$this->redirect('Index/index');}}
publicfunctionindex()
{//如果通过认证跳转到首页
redirect(__APP__);}
图2
教师窗口页如图2
代做毕业设计
当老师登陆成功后,可以成功上传并修改学生的成绩,但是不可以做删除!
图3
学生成绩查询页如图3
学生登录后,只可以搜索并查询自己的成绩,不可以编辑和删除。
//生成查询条件
if(empty($name)){
$name=$this->getActionName();}
$name=$this->getActionName();
$model=D($name);
$map=array();
foreach($model->getDbFields()as$key=>$val){
if(isset($_REQUEST[$val])&&$_REQUEST[$val]!
=''){
$map[$val]=$_REQUEST[$val];}}
return$map;}
图5
越权操作页如图5
如若学生和老师越权操作,则会出现以上错误提示。
classCommonActionextendsAction{
function_initialize(){//用户权限检查
if(C('USER_AUTH_ON')&&!
in_array(MODULE_NAME,explode(',',C('NOT_AUTH_MODULE')))){
import('@.ORG.RBAC');
if(!
RBAC:
:
AccessDecision()){//检查认证识别号
if(!
$_SESSION[C('USER_AUTH_KEY')]){//跳转到认证网关
redirect(PHP_FILE.C('USER_AUTH_GATEWAY'));}//没有权限抛出错误
if(C('RBAC_ERROR_PAGE')){//定义权限错误页面
redirect(C('RBAC_ERROR_PAGE'));
}else{
if(C('GUEST_AUTH_ON')){
$this->assign('jumpUrl',PHP_FILE.C('USER_AUTH_GATEWAY'));
}//提示错误信息
代做毕业设计
$this->error(L('_VALID_ACCESS_'));}}}}
5.2.2网站结构(管理员部分)
管理员操作后台用户
1.
添加后台用户页:
此页面可以实现添加管理员、教师及学生。
//插入数据
publicfunctioninsert(){//创建数据对象
$User=D("User");
if(!
$User->create()){$this->error($User->getError());
}else{//写入帐号数据
if($result=$User->add()){
$this->addRole($result);
$this->success('用户添加成功!
');
}else{$this->error('用户添加失败!
');}}}
2.查询用户
管理员在后台查询所有用户。
3.账号编辑页:
管理员可通过此页面修改用户信息。
4.添加数据
管理员和老师可以通过此页面添加学生成绩。
5.编辑数据
管理员和老师可通过此页面修改学生成绩。
代码如下:
//更新数据
$list=$model->save();
if(false!
==$list){//成功提示
$this->assign('jumpUrl',Cookie:
:
get('_currentUrl_'));
$this->success('编辑成功!
');
}else{//错误提示
$this->error('编辑失败!
');}}
6.总结
通过这次毕业设计,我学习到了很多知识。
首先是对项目进行分析并从整体上做出规划,再逐步细化修改的科学的工作方法。
这样有利于养成宏观地看待问题的好习惯,而且这样做思路非常清晰,条理分明,利于对项目进行修改,不至于陷入混乱。
其次是培养了坚韧不拔、刻苦研究的毅力。
在这次设计中我遇到了很多难题,但是我没有放弃,而是努力克服,终于取得了一定的结果,设计基本完成。
这次设计还增加了我对PHP和Mysql数据库相关知识的了解,并且通过亲手构建一个简单的网站,更加深了我对网站结构的理解和认识。
当然这次设计还存在着很多不足之处,比如页面的布局相对简单,美工不够完善。
由于制作经验和水平的限制,网页上还不可避免地存在着许多细节上的问题。
这些都是将来要攻克的关卡,尽量将这个设计做得尽善尽美。
7.主要参考文献
[1](澳)威廉姆斯/(澳)雷恩,PHP&MySQLWeb数据库应用开发指南[M].中国电力出版社2003
[2]刘振岩、王勇、陈立平,基于LINUX的WEB程序设计PHP网站开发:
[M].人民邮电出版社2008
[3]KevinTatro,PHP程序设计(第2版),电子工业出版社2009
[4].Squid配置
[5]…PHP视频教程
[6]http:
//httpd.apache.org/
8.谢辞
这次毕业设计能够顺利完成,不仅仅是因为我个人的努力,还得益于老师和同事的热心帮助。
首先我要感谢我的导师高延武老师,是高老师的谆谆教诲教会了我科学的设计思路和工作方法,引导着我在正确的路上努力前行。
在我遇到困难打退堂鼓的时候,也是高老师不断的鞭策和鼓励让我重拾了信心。
我还要感谢我的同学及同事们,没有他们的鼎力相助,我也不会取得今天的成绩。
这次毕业设计遇到了许多难题,是我和同学们取长补短,互相交流探讨,最终解决了一个又一个难题。
最后,我还要感谢我的学校邢台学院,我在大学的四年时光里学到了很多东西——不仅仅是书本上的知识,还有人生的很多道理。
临近毕业之际,感谢母校给了我这次毕业设计的机会,磨练了本领,增强了信心,将来的工作生活中我一定继续再接再厉,不辜负大家对我的殷切希望。