基于PHP的学生在线成绩管理系统

基于PHP的学生在线成绩管理系统

目 录
引言 4
1 课题描述 4
1.1 课题背景 4
1.2 课题意义 4
1.3 用户特点 4
1.4 可行性分析 5
2 需求分析 5
2.1 系统任务和特点 5
2.2 功能模块和作用 5
2.3 系统结构图 5
2.4 采用的数据库 5
3 数据库设计 6
3.1 需求分析 6
3.2 数据流程图 7
3.3 概念结构设计 8
3.4 逻辑结构设计 10
3.5 数据库物理设计 10
3.6 数据库实施 10
4 系统详细结构设计与实现 11
4.1 数据库设计 11
4.2 子系统划分 14
5 调试与测试 26
5.1 安全性测试 26
5.2 添加用户测试 26
5.3 发布课程测试 27
5.4 选课、退课测试 27
5.5 成绩提交测试 27
5.6 成绩审核测试 27
5.7 成绩查询测试 28
5.8 学分绩测试 28
6 总结 28
2 需求分析
2.1 系统任务和特点
本系统主要任务是帮助在校学生、老师管理学生成绩以及选课情况;管理员,教师,学生这三种用户权限,功能明确,各自独立,而又存在着一定的联系,让教学管理的效率提高了。
2.2 功能模块和作用
本系统共分为三个模块:管理员模块,教师模块,学生模块
管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩统计,同时也可以按学号查看学生的成绩情况,方便做教学总结。
教师模块:修改自己的信息;查看自己所教的课程及选择该课程的学生并且给该课号的学生录入平时成绩,考试成绩,系统可以按照该课程的比例自动算出总分,提交给管理员,等待审核;查询课号的成绩情况。
学生模块:修改自己的信息;根据学年选课、退课,查询选课信息;查询已取得学分,查询课程成绩以及学分绩,打印自己各门课成绩的统计报表。
2.3 系统结构图
根据功能模块画出系统结构图如下图1-1:
2.4 采用的数据库
本系统采用当前最流行的mysql开源数据库,版本5.7,使用navicat for mysql可视化工具简化对mysql的操作。
2.5开发运行环境
开发环境采用NetBeans IDE+workbench,其中NetBeans的一方面语法高亮,良好的语法高亮可大大地改善代码的可读性,另一方面自动代码完成提示,避免手动输入较多代码,也可以防止输入错误;workbench是课本上使用的图形界面工具,比较熟悉,
提供了丰富的功能,是数据库管理轻松便捷,除了常规的数据库管理功能,如编辑或设计表、数据写入、SQL转储、创建或编辑用户,其他有用的功能包括:导入/导出向导、报表创建工具、数据模型、查询创建工具、自动完成代码、数据/结构同步,批处

在这里插入图片描述

							图1-1 系统结构图

理作业计划,HTTP/SSH通道连接、备份以及更多。
运行环境是phpstudy, phpstudy在windows下将Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境。PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用亲自去修改配置文件了,phpstudy它会去做。虽然是傻瓜式的,但是很适合初学者,省去大量的配置环境时间,任何人都可以轻松搭建;这个软件是完全免费的,可以在其官方网站下载到最新的版本。

学生页面代码:

<?php
    session_start();
    if((!isset($_SESSION['stu_name'])) || (!isset($_SESSION['stu_id']))){
        header("Location:login.html");
        exit;
    }
    error_reporting(E_ERROR); 
    mysql_query("set names 'utf8'");
?>
<!DOCTYPE html>
<head>
<title>学生成绩管理系统</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link rel="stylesheet" href="css/bootstrap.min.css" >
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href="css/style-responsive.css" rel="stylesheet"/>
<link rel="stylesheet" href="css/font.css" type="text/css"/>
<link href="css/font-awesome.css" rel="stylesheet"> 
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<link rel="stylesheet" href="css/monthly.css">
<script src="js/jquery2.0.3.min.js"></script>
<script src="js/raphael-min.js"></script>
<script src="js/morris.js"></script>
</head>
<body>
<section id="container">
<!--header start-->
<header class="header fixed-top clearfix">
<!--logo start-->
<div class="brand">
    <a href="index.html" class="logo">
        学生
    </a>
    <div class="sidebar-toggle-box">
        <div class="fa fa-bars"></div>
    </div>
</div>
<!--logo end-->
<div class="nav notify-row" id="top_menu">
</div>
<div class="top-nav clearfix">
    <ul class="nav pull-right top-menu" >
        <li>
            <input type="text" class="form-control search" placeholder=" Search">
        </li>
        <li class="dropdown" >
            <a data-toggle="dropdown" class="dropdown-toggle" href="#">
                <img alt="" src="images/2.png">
                <span class="username"><?php echo $_SESSION['stu_name']; ?></span>
                <b class="caret"></b>
            </a>
            <ul class="dropdown-menu extended logout">
                <li><a href="stu_xgmm.php"><i class="fa fa-cog"></i> 修改密码</a></li>
                <li><a href="index_stu.php?action=logout"><i class="fa fa-key"></i> 注销</a></li>
            </ul>
        </li>
        <!-- user login dropdown end -->
    </ul>
    <!--search & user info end-->
</div>
</header>
<!--header end-->
<!--sidebar start-->
<aside>
    <div id="sidebar" class="nav-collapse">
        <!-- sidebar menu start-->
        <div class="leftside-navigation">
            <ul class="sidebar-menu" id="nav-accordion">
                <li>
                    <a class="active" href="index_stu.php">
                        <i class="fa fa-dashboard"></i>
                        <span>首页</span>
                    </a>
                </li>
                <li class="sub-menu">
                    <a href="javascript:;">
                        <i class="fa fa-th"></i>
                        <span>基本信息</span>
                    </a>
                    <ul class="sub">
                        <li><a href="stu_selstu.php">查看基本信息</a></li>
                        <li><a href="stu_upstu.php">修改基本信息</a></li>
                    </ul>
                </li>
                <li class="sub-menu">
                    <a href="javascript:;">
                        <i class="fa fa-tasks"></i>
                        <span>选课信息</span>
                    </a>
                    <ul class="sub">
                        <li><a href="stu_startxk.php">开始选课</a></li>
                        <li><a href="stu_yxkc.php">已选课程/退课</a></li>
                    </ul>
                </li>
                <li class="sub-menu">
                    <a href="javascript:;">
                        <i class="fa fa-envelope"></i>
                        <span>成绩查询</span>
                    </a>
                    <ul class="sub">
                        <li><a href="stu_selcj.php">成绩查询</a></li>
                        <li><a href="stu_selxfj.php">学分绩查询</a></li>
                    </ul>
                </li>
                <li class="sub-menu">
                    <a href="javascript:;">
                        <i class="fa fa-glass"></i>
                        <span>统计信息</span>
                    </a>
                    <ul class="sub">
                        <li><a href="stu_yqdxf.php">已取得学分</a></li>
                    </ul>
                </li>
            </ul>            </div>
        <!-- sidebar menu end-->
    </div>
</aside>
<!--sidebar end-->
<!--main content start-->
<section id="main-content">
    <section class="wrapper">
        <div class="form-w3layouts">
        <!-- page start-->
        <!-- page start-->
        <div class="row">
            <div class="col-lg-12">
                    <section class="panel">
                        <header class="panel-heading">
                            欢迎来到学生成绩管理系统
                        </header>
                        <center>
                        <div class="panel-body">
                            <div class="position-center">
                                <?php
                                                $stu_id=$_SESSION['stu_id'];
                                                $conn=mysql_connect("localhost","root","root");
                                                mysql_select_db("stugrade",$conn);
                                                $sql="select * from student where stuno='$stu_id'";
                                                mysql_query("set names 'utf8'");
                                                $res=mysql_query($sql,$conn);
                                                $arr=mysql_fetch_array($res);
                                ?>
                                <div class="form-group">
                                    <label for="exampleInputText1">学号:<?php echo $arr['stuno']; ?></label>
                                </div>
                                    <div class="form-group">
                                    <label for="exampleInputText1">姓名:<?php echo $arr['name']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">性别:<?php echo $arr['sex']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">系别:<?php echo $arr['sdept']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">籍贯:<?php echo $arr['home']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">入学时间:<?php echo $arr['rxtime']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">备注:<?php echo $arr['ps']; ?></label>
                                </div>
                                </div>
                            </div>
                        </center>
                        </div>
        </div>
        </div>
 <!-- footer -->
          <div class="footer">
            <div class="wthree-copyright">
              <p>© 2017 学生成绩管理系统.Design by 王浩杰</a></p>
            </div>
          </div>
</section>
</section>
<script src="js/bootstrap.js"></script>
<script src="js/jquery.dcjqaccordion.2.7.js"></script>
<script src="js/scripts.js"></script>
<script src="js/jquery.slimscroll.js"></script>
<script src="js/jquery.nicescroll.js"></script>
<script src="js/jquery.scrollTo.js"></script>
<!-- morris JavaScript -->	
<script>
	$(document).ready(function() {
		//BOX BUTTON SHOW AND CLOSE
	   jQuery('.small-graph-box').hover(function() {
		  jQuery(this).find('.box-button').fadeIn('fast');
	   }, function() {
		  jQuery(this).find('.box-button').fadeOut('fast');
	   });
	   jQuery('.small-graph-box .box-close').click(function() {
		  jQuery(this).closest('.small-graph-box').fadeOut(200);
		  return false;
	});
</script>
</body>
</html>
<?php
    if($_GET['action']=="logout"){
        unset($_SESSION['stu_name']);
        unset($_SESSION['stu_id']);
       echo "<script> alert('注销成功');</script>";
        echo "<script type='text/javascript'>"."location.href='"."login.html"."'"."</script>"; 
    }
?>

教师界面代码:

<?php
    session_start();
    if((!isset($_SESSION['teacher_name'])) || (!isset($_SESSION['teacher_id']))){
        header("Location:login.html");
        exit;
    }
    error_reporting(E_ERROR); 
    mysql_query("set names 'utf8'");
?>
<!DOCTYPE html>
<head>
<title>学生成绩管理系统</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link rel="stylesheet" href="css/bootstrap.min.css" >
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href="css/style-responsive.css" rel="stylesheet"/>
<link rel="stylesheet" href="css/font.css" type="text/css"/>
<link href="css/font-awesome.css" rel="stylesheet"> 
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<link rel="stylesheet" href="css/monthly.css">
<script src="js/jquery2.0.3.min.js"></script>
<script src="js/raphael-min.js"></script>
<script src="js/morris.js"></script>
</head>
<body>
<section id="container">
<!--header start-->
<header class="header fixed-top clearfix">
<!--logo start-->
<div class="brand">
    <a href="index.html" class="logo">
        教师
    </a>
    <div class="sidebar-toggle-box">
        <div class="fa fa-bars"></div>
    </div>
</div>
<div class="top-nav clearfix">
    <ul class="nav pull-right top-menu" >
        <li>
            <input type="text" class="form-control search" placeholder=" Search">
        </li>
        <li class="dropdown" >
            <a data-toggle="dropdown" class="dropdown-toggle" href="#">
                <img alt="" src="images/2.png">
                <span class="username"><?php echo $_SESSION['teacher_name']; ?></span>
                <b class="caret"></b>
            </a>
            <ul class="dropdown-menu extended logout">
                <li><a href="tea_xgmm.php"><i class="fa fa-cog"></i> 修改密码</a></li>
                <li><a href="index_teacher.php?action=logout"><i class="fa fa-key"></i> 注销</a></li>
            </ul>
        </li>
        <!-- user login dropdown end -->
    </ul>
    <!--search & user info end-->
</div>
</header>
<!--header end-->
<!--sidebar start-->
<aside>
    <div id="sidebar" class="nav-collapse">
        <!-- sidebar menu start-->
        <div class="leftside-navigation">
            <ul class="sidebar-menu" id="nav-accordion">
                <li>
                    <a class="active" href="index_teacher.php">
                        <i class="fa fa-dashboard"></i>
                        <span>首页</span>
                    </a>
                </li>
                <li class="sub-menu">
                    <a href="javascript:;">
                        <i class="fa fa-th"></i>
                        <span>基本信息</span>
                    </a>
                    <ul class="sub">
                        <li><a href="teach_seltea.php">查看基本信息</a></li>
                        <li><a href="teach_uptea.php">修改基本信息</a></li>
                    </ul>
                </li>
                <li class="sub-menu">
                    <a href="javascript:;">
                        <i class="fa fa-tasks"></i>
                        <span>我的课程</span>
                    </a>
                    <ul class="sub">
                        <li><a href="teach_jcou.php">已结课</a></li>
                        <li><a href="teach_wcou.php">未结课</a></li>
                    </ul>
                </li>
                <li class="sub-menu">
                    <a href="javascript:;">
                        <i class="fa fa-envelope"></i>
                        <span>录入成绩</span>
                    </a>
                    <ul class="sub">
                        <li><a href="teach_inadd">在线录入</a></li>
                    </ul>
                </li>
                <li class="sub-menu">
                    <a href="javascript:;">
                        <i class=" fa fa-bar-chart-o"></i>
                        <span>查询成绩</span>
                    </a>
                    <ul class="sub">
                        <li><a href="teach_selkh.php">按课号查询</a></li>
                    </ul>
                </li>
                <!--<li class="sub-menu">
                    <a href="javascript:;">
                        <i class="fa fa-glass"></i>
                        <span>查询信息</span>
                    </a>
                </li>-->
            </ul>            
        </div>
        <!-- sidebar menu end-->
    </div>
</aside>
<!--sidebar end-->
<!--main content start-->
<section id="main-content">
    <section class="wrapper">
        <div class="form-w3layouts">
        <!-- page start-->
        <!-- page start-->
        <div class="row">
            <div class="col-lg-12">
                    <section class="panel">
                        <header class="panel-heading">
                            欢迎来到学生成绩管理系统
                        </header>
                        <center>
                        <div class="panel-body">
                            <div class="position-center">
                                <?php
                                                $teach_id=$_SESSION['teacher_id'];
                                                $conn=mysql_connect("localhost","root","root");
                                                mysql_select_db("stugrade",$conn);
                                                $sql="select * from teacher where teach_id='$teach_id'";
                                                mysql_query("set names 'utf8'");
                                                $res=mysql_query($sql,$conn);
                                                $arr=mysql_fetch_array($res);
                                ?>
                                <div class="form-group">
                                    <label for="exampleInputText1">教师号:<?php echo $arr['teach_id']; ?></label>
                                </div>
                                    <div class="form-group">
                                    <label for="exampleInputText1">姓名:<?php echo $arr['name']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">性别:<?php echo $arr['sex']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">系别:<?php echo $arr['sdept']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">职位:<?php echo $arr['position']; ?></label>
                                </div>
                                <div class="form-group">
                                    <label for="exampleInputText1">学历:<?php echo $arr['academic']; ?></label>
                                </div>
                                </div>
                            </div>
                        </center>
                        </div>
        </div>
        </div>
 <!-- footer -->
          <div class="footer">
            <div class="wthree-copyright">
              <p>© 2017 学生成绩管理系统.Design by 王浩杰</a></p>
            </div>
          </div>
</section>
</section>
<!--main content end-->
</section>
<script src="js/bootstrap.js"></script>
<script src="js/jquery.dcjqaccordion.2.7.js"></script>
<script src="js/scripts.js"></script>
<script src="js/jquery.slimscroll.js"></script>
<script src="js/jquery.nicescroll.js"></script>
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="js/flot-chart/excanvas.min.js"></script><![endif]-->
<script src="js/jquery.scrollTo.js"></script>
<!-- morris JavaScript -->	
<script>
	$(document).ready(function() {
		//BOX BUTTON SHOW AND CLOSE
	   jQuery('.small-graph-box').hover(function() {
		  jQuery(this).find('.box-button').fadeIn('fast');
	   }, function() {
		  jQuery(this).find('.box-button').fadeOut('fast');
	   });
	   jQuery('.small-graph-box .box-close').click(function() {
		  jQuery(this).closest('.small-graph-box').fadeOut(200);
		  return false;
	   });
</body>
</html>
<?php
    if($_GET['action']=="logout"){
        unset($_SESSION['teacher_name']);
        unset($_SESSION['teacher_id']);
       echo "<script> alert('注销成功');</script>";
        echo "<script type='text/javascript'>"."location.href='"."login.html"."'"."</script>"; 
    }
?>

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

                       

点击阅读全文

上一篇 2023年 6月 9日 pm9:03
下一篇 2023年 6月 9日 pm9:05