PHP编程基础与实例教程课程设计报告
学生信息管理系统
《
姓名:
班级: 14-1
专业:信息管理与信息系统
`
完成日期:
指导教师:
^
目录
1. 系统需求分析 0
|
系统分析过程 0
系统的总体目标是: 0
系统可行性分析 0
2. 数据库逻辑结构设计 (1)
数据库E-R图 (1)
数据库关系模式: (1)
3. 软件结构设计 (5)
开发环境 (5)
·
系统功能结构 (5)
系统结构-模块划分 (6)
登陆模块 (6)
增删模块 (12)
4.软件调试 (15)
进入主页 (15)
登录界面 (15)
根据用户身份登录到对应界面 (16)
@
学生登录 (16)
教师登录 (17)
管理员登录 (18)
5.心得 (21)
6.PHP参考文献 (21)
)
1.系统需求分析
系统分析过程
系统的总体目标是:
设计一个学生成绩管理系统,学生所具有的操作功能如下:浏览个人基本信息;学生登录系统后,修改个人信息,为了保证系统的安全性,学生只能修改个人密码,浏览课程信息,进行选课等;教师查询、录入、修改成绩,修改个人密码;管理员查询、录入、修改基本信息, 修改个人密码,同时修改老师教授的课程。
系统所能实现的功能有:
查询模块:负责学生查询自己的基本信息和成绩,教师查询成绩和个人基本信息,管理员查询基本信息情况。
录入模块:以教师的角色登录,允许录入成绩;以管理员身份登录允许录入人员和课程信息;
修改模块:以教师的角色登录,允许修改成绩;以管理员身份登录允许修改人员和课程信息;
系统配置模块:密码修改和重置等。
系统可行性分析
经济可行性
现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;
第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高学校的工作效率;
所以,本系统在经济上是可行的。
技术可行性
本系统的开发利用MySQL作为本系统的数据库,它是一个支持多用户的新型
数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。
使用wamp与navicat作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
操作可行性
本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充,因此,本系统在操作上是可行的
2.数据库逻辑结构设计
数据库E-R图
数据库关系模式:
Administrator(AdminID, AdminName, AdminPassword);
ClassInfo(Class,Major,department)
CourseInfo(CourseNumber, CourseName, Grade);
StudentCourse(StudentID , CourseNumber, Marks);
StudentInfo(StudentID,StudentName ,Class,StudentPassword);
TeacherInfo (TeacherID,TeacherName,TeacherPassword);
TeachingInfo(CourseNumber,TeacherID);
数据库名称: management
拥有的表:
administrator;Classinfo;Courseinfo;StudentCourse;Studentinfo;Teacherinfo;
Teachinginfo;
各个表的属性及数据:
Administrator (AdminID char(20) primary key,,AdminName char(20),AdminPassword char(20));
包含:管理员编号AdminID、管理员姓名AdminName、管理员密码AdminPassword
Classinfo(Class char(20) primary key,
Major char(20),department char(20));
包含:班级号Class、专业Major、学院department
Courseinfo(CourseNumber char(20) primary key,CourseName char(20),Grade int);
包含:课程编号CourseNumber、课程姓名CourseName、学分Grade
StudentCourse (StudentID char(20),CourseNumber char(20),Marks int);
包含:学号StudentID、课程编号CourseNumber、得分Marks
Studentinfo(StudentID char(20) primary key,StudentName char(20),Class char(20),
StudentPassword Char(20));
包含:学号StudentID、学生姓名StudentName、班级号Class、学生密码StudentPassword
Teacherinfo(TeacherID char(20) primary key,TeacherName char(20), TeacherPassword char(20));
包含:教师编号TeacherID、教师姓名TeacherName、教师密码TeacherPassword
Teachinginfo(CourseNumber char(20) primary key,TeacherID char(20));
包含:课程编号CourseNumber、教师编号TeacherID
3. 软件结构设计
开发环境
基于windows 7操作系统,数据库系统使用Mysql ,服务器搭建使用Apache ,Web 编写使用PHP 。
系统功能结构
身份判断
身份,密码确认显示学生信息
显示教师信息,其他功能选项显示管理员信息,其他功能选项
ID ,密码,身份
信息
ID ,密码,确认信息ID ,密码,确认信息
ID ,密码,确认信息
登录系统
ID ,密码
修改学生成绩
修改密码
新成绩,学生ID
删除人员,课程基
本信息
判断操作类型,操作对象身份
操作请求,新的信息
添加人员,课程基
本信息
修改人员,课程基
本信息
系统结构-模块划分
登陆模块
系统使用人员登陆系统,输入ID号密码,选择身份。之后根据身份,查询系统数据库,判断该ID是否存在,密码是否正确,确认无误之后继续进行之后的功能。
实现程序段(与):
session_start(); $_SESSION['firstlogin']=1; >
*{
padding:0px;
margin:0px;
}
a{color:White}
body{
font-family:Arial, Helvetica, sans-serif;
background:url('images/') no-repeat center;
font-size:13px;
}
img{
border:0;
}
.lg{width:468px; height:468px; margin:100px auto;
background:url('images/') no-repeat;align: center;}
.lg_top{ height:200px; width:468px;align: center;}
.lg_main{width:400px; height:180px; margin:0 25px;align="center";}
.lg_m_1{
width:290px;
height:100px;
padding:60px 55px 20px 55px;
margin:0px auto;
}
.ur{
height:37px;
border:0;
color:#666;
width:236px;
margin:4px 28px;
background:url('images/') no-repeat;
padding-left:10px;
font-size:16pt;
font-family:Arial, Helvetica, sans-serif;
}
.pw{
height:37px;
border:0;
color:#666;
width:236px;
margin:4px 28px;
background:url('images/') no-repeat;
padding-left:10px;
font-size:16pt;
font-family:Arial, Helvetica, sans-serif;
}
.lg_foot{
height:80px;
width:330px;
padding: 6px 68px 0 68px;
align="center"
}
session_start(); if($_SESSION['firstlogin']){ $_SESSION['username']=$_POST['user_name']; $_SESSION['password']=$_POST['user_pass']; $_SESSION['shenfen']=$_POST['shenfen']; $_SESSION['firstlogin']=false; } $shenfen=$_SESSION['shenfen']; $user_name=$_SESSION['username']; $user_pass=$_SESSION['password']; >
body {
background-image: url(images/;
background-repeat: repeat;
}
$db= mysql_connect(':3306','root','') or die ("连接失败"); mysql_select_db('management',$db) or die(mysql_error($db)); if($shenfen['shenfen']==1) { $query="SELECT StudentID,StudentName,,Major,department from studentinfo,ClassInfo where StudentID='$user_name' AND StudentPassword='$user_pass' AND =;"; mysql_query("set names 'gbk'"); mysql_query("SET CHARACTER SET gbk"); $result=mysql_query($query,$db) or die ("ERROR"); if(mysql_numrows($result)==0){ echo "用户名或密码错误!".' echo ""; echo "重新登录"; echo ""; } else{ echo ""; echo " 注销
';
echo "";
echo "";
echo "
修改密码
"."echo "";
echo "";
echo "
修改选课信息
";echo "";
value.'';
}
while($row=mysql_fetch_assoc($result)){
echo '
foreach($row as $value){
echo '
}
echo '
}
echo '';
'-' . $StudentName . '-' . $class .'-' . $StudentPassword.'
';
echo '';
echo '';
$query="SELECT
,CourseName,Grade,Marks
from
studentcourse,CourseInfo
where
StudentID='$user_name' and =";
$result=mysql_query($query,$db) or die ("未知错误!");
echo '
选课信息: | ";
'.$value.' | ';
'.$value.' | ';
}
}
if($shenfen['shenfen']==2)
{
';
echo "";
echo "重新登录";
echo "";
}
else{
echo "";
echo "
注销
";echo "";
echo "";
echo "
修改密码
"."echo "";
echo '
教师信息: | ";
'.$value.' | ';
'.$value.' | ';
$query="SELECT
,CourseName
from
Teachinginfo,CourseInfo
where
TeacherID='$user_name' and =";
$result=mysql_query($query,$db) or die ("Unexpected error(mark)!");
echo "
课程 :
";while(mysql_num_rows($result)!=0&&$row=mysql_fetch_assoc($ result)){
extract($row);
echo "";
echo"
$CourseName
";echo "";
}
}
}
if($shenfen['shenfen']==3)
{
';
echo "";
echo "重新登录";
echo "";
}
else{
echo "";
echo "
注销
";echo "";
echo "";
echo "
修改密码
"."echo "";
echo '
管理员信息: | ";
'.$value.' | ';
'.$value.' | ';
echo "
请选择要修改的内容:
","echo "";
echo "
管理员信息
"."echo "";
echo "";
echo "
教师信息
"."echo "";
echo "";
echo "
学生信息
"."echo "";
echo "";
echo "
课程信息
"."echo "";
echo "";
echo "
教师授课信息
"."echo "";
}
}
>
增删模块
教师部分,输入新学生ID,新成绩,再根据教师是的任课课程修改数据可中的学生成绩。管理员部分,先选择想要录入的人员身份或者是课程编号,再根据输入的基本信息,录入到数据库中。
实现程序段:
session_start(); $_SESSION['admin_select']=$_GET['select']; $admin_select=$_SESSION['admin_select']; $db= mysql_connect('','root','') or die ("Unable to connect. Check your connection parameters."); mysql_select_db('management',$db) or die(mysql_error($db)); >
body {
background-image: url(pic/;
}
echo ""; echo " 返回
echo "";
mysql_query("set names 'gbk'");
mysql_query("SET CHARACTER SET gbk");
$query="SELECT TeacherID,TeacherName from Teacherinfo";
$result=mysql_query($query,$db) or die("Unexpected error(scole))");
echo '
'.$value.' | ';
'.$value.' | ';
>