.简介

本套学生选课信息管理系统基于PHP7 / MySQL编写,部署简易,功能强大,上手简单。 系统可以准确地记录和查询学生信息,包括学生的姓名、单位、年龄、性别以及身份证号码等。 系统可以准确地记录学生地每一次奖惩情况。 系统可以对学校的院系情况进行管理,包括设置学院名称、修改某学院某专业方向的名称等。 系统可以对基础数据进行维护。 系统能够对开设的课程进行管理 学生选课管理、考试(登记分数)、补考重修管理 提供强大数据统计、查询、报表生成以及打印等功能。 用户权限管理 异常处理

2.安装

确保要部署的机器上已经安装好主流版本的PHP/MySQL,配置好了Web服务器,已将管理系统源码文件复制到要部署的目录中,赋予需要的文件权限。建好数据库,赋予数据库用户需要的读写权限。

可以导入精简示例数据 example_lite.sql 或按下面步骤进行全新安装。

在 PHP7.2 + MYSQL5.6 及 PHP7.4 + MySQL8.0 下测试通过。

执行建表命令


SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (`cid` char(6) DEFAULT NULL,`cname` varchar(15) DEFAULT NULL,`credit` decimal(2,1) DEFAULT NULL,`cadd` varchar(20) DEFAULT NULL,`did` char(2) DEFAULT NULL,`tname` varchar(15) DEFAULT NULL,UNIQUE KEY `cid_2` (`cid`),KEY `cid` (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (`did` char(2) DEFAULT NULL,`dname` varchar(15) NOT NULL,`dadd` varchar(30) DEFAULT NULL,`dmng` varchar(10) DEFAULT NULL,`dtel` varchar(15) DEFAULT NULL,UNIQUE KEY `did_2` (`did`),KEY `did` (`did`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `major`;
CREATE TABLE `major` (`did` char(2) DEFAULT NULL,`mname` varchar(20) DEFAULT NULL,UNIQUE KEY `did_2` (`did`,`mname`),KEY `did` (`did`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (`sid` char(12) NOT NULL,`name` varchar(10) NOT NULL,`sex` char(1) NOT NULL,`age` varchar(3) DEFAULT NULL,`class` varchar(10) DEFAULT NULL,`idnum` char(18) DEFAULT NULL,`did` char(2) DEFAULT NULL,`email` char(30) DEFAULT NULL,`tel` char(11) DEFAULT NULL,PRIMARY KEY (`sid`),UNIQUE KEY `sid` (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `student_course`;
CREATE TABLE `student_course` (`sid` char(12) NOT NULL,`cid` char(6) NOT NULL,`score` int(3) DEFAULT NULL,`status` char(1) DEFAULT NULL,KEY `sid` (`sid`),KEY `cid` (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `student_log`;
CREATE TABLE `student_log` (`sid` varchar(12) DEFAULT NULL,`type` char(1) DEFAULT NULL,`reason` varchar(30) DEFAULT NULL,`detail` varchar(100) DEFAULT NULL,`logdate` date DEFAULT NULL,`addtime` datetime DEFAULT NULL,KEY `sid` (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `user_admin`;
CREATE TABLE `user_admin` (`adminID` varchar(15) DEFAULT NULL,`adminName` varchar(15) DEFAULT NULL,`pwd` char(32) DEFAULT NULL,KEY `adminID` (`adminID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `user_student`;
CREATE TABLE `user_student` (`sid` char(12) NOT NULL,`pwd` char(32) DEFAULT NULL,UNIQUE KEY `sid` (`sid`),KEY `sid_2` (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

新建管理员账户,在表 user_admin 中新建一行记录,adminID 为管理员ID,adminName 为管理员姓名,pwd为MD5加密后的密码。 实例代码如下(通用的admin):

INSERT INTO `user_admin` (`adminID`, `adminName`, `pwd`) VALUES
('admin', 'A先生', '21232f297a57a5a743894a0e4a801fc3');

然后,修改 ./config/database.php 中的数据库连接信息。基于 PHP 的开源单页数据库管理程序 Adminer 可以助你便捷管理数据库。

3.功能介绍

学生管理

  • 新增学生,输入所有需要的信息,点击提交即可新增学生记录。
  • 查询学生,输入要搜索的信息,点击搜索即可模糊搜索。
  • 在搜索结果中,点击修改可以修改学生信息
  • 点击删除可以删除该学生

奖惩管理

  • 输入相应信息可以模糊搜索
  • 在搜索结果中点击修改可以修改指定的记录,点击删除可以删除记录。
  • 在奖惩管理页面点击新增可以给指定学生新增奖惩记录

院系管理

  • 显示院系信息后,单击后面的“修改”即可修改院系信息
  • 输入修改的信息后,单击“修改信息”即可提交修改的院系信息
  • 在提交之前,单击“返回”就可以清除掉文本框内还没有提交的内容并返回到上一级页面
  • 选择专业列表就可以进入专业列表界面
  • 输入相关的信息,单击“提交”就可以查询专业
  • 显示专业信息后,单击“改”即可更改专业
  • 显示专业信息后,单击“删”即可删除专业
  • 单击“新增专业”即可新增专业

课程管理

  • 选择课程查询就可以进入课程查询界面,输入相关的信息,单击“提交”就可以新增课程
  • 显示课程信息后,单击后面的“删除”即可删除课程信息
  • 选择新增课程就可以进入新增课程界面,输入相关的信息,单击“提交”就可以新增课程,如果没有输入正确的信息,系统会出现错误提示

选课管理

  • 选择学生选课就可以进入学生选课界面,输入相关的信息,单击“提交”就可以查询学生选课
  • 显示相关信息后,单击“退选”即可退选课程
  • 选择登录分数就可以进入登录分数界面,输入相关的信息,单击“提交”就可以登记分数
  • 显示成绩信息后,单击“登记成绩”即可录入成绩
  • 选择补考重修就可以进入补考重修界面,输入相关的信息,单击“提交”就可以更新重修信息

数据统计

  • 选择成绩统计就可以进入成绩统计界面,输入相关的信息,单击“提交”就可以查询成绩
  • 点击“成绩详情”即可查看每一门课的成绩情况
  • 单击“打印”即可打印成绩表
  • 选择选课统计就可以进入选课统计界面
  • 输入相关的信息,单击“提交”就可以选课情况
  • 单击“详情”即可查看课程详情
  • 单击“打印”即可打印课程情况

系统设置

  • 选择用户管理就可以进入用户管理界面
  • 输入相关的信息,单击“提交”就可以查找学生
  • 显示学生信息后,单击后面的“学生详情”即可查看学生信息
  • 显示学生信息后,单击后面的“重置密码”即可重置密码
  • 输入修改的信息后,单击“修改信息”即可提交修改的学生信息
  • 选择修改密码就可以进入修改密码界面,输入相关的信息,单击“提交”就可以更新密码

4.系统实现

4.1首页

<?php
session_start();
if(isset($_GET["retry"])){$wrong='<div class="inputbox"><span style="color:#df3a01;font-size:10px;margin:10px;display:block">用户名或密码错误</span></div>';
}
if (!$_SESSION['login']==true) {print <<<END<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, height=device-height, inital-scale=1.0, maximum-scale=1.0, user-scalable=no" /><link rel="stylesheet" href="static/login.css" type="text/css" media="all" /><title>登录到系统 - 学生选课信息管理系统</title></head><body><div class="loginbox"><div class="title"><span>学生选课信息管理系统</span></div><div class="subtitle">用户登录</div><form action="./login.php" method="post"><div class="inputbox"><span>帐号</span><input name="user" required type="text"></div><div class="inputbox"><span>密码</span><input name="pass" required type="password"></div><div class="submitbox"><input name="submit" type="submit" value="提交"></div>$wrong</form></div><div class="footer">Copyright  2019 Database Course Design. All rights reserved. </div><!-- Written by mrning --><!-- 2019.12 --></body>
</html>END;exit();
}
else{if(isset($_SESSION["admin"])){header ("HTTP/1.1 302 Moved Temporatily"); header ("Location: "."./admin/"); exit();}else{header ("HTTP/1.1 302 Moved Temporatily"); header ("Location: "."./user/"); exit();}}?>

4.2登录逻辑

<?php
session_start();
$user=$_POST["user"];
$pass=$_POST["pass"];
$pwd = md5($pass);require_once('./config/database.php');$com1 = "SELECT sid FROM user_student WHERE sid='$user' AND pwd='$pwd'";
$com2 = "SELECT adminID FROM user_admin WHERE adminID='$user' AND pwd='$pwd'";$result1=mysqli_query($db,$com1);
$result2=mysqli_query($db,$com2);if($result1->num_rows>0){$_SESSION["login"]=true;$_SESSION["user"]=$user;header ("HTTP/1.1 302 Moved Temporatily"); header ("Location: "."./user/"); exit();
}
else if($result2->num_rows>0){$_SESSION["login"]=true;$_SESSION["admin"]=$user;header ("HTTP/1.1 302 Moved Temporatily"); header ("Location: "."./admin/"); exit();
}
else{header ("HTTP/1.1 302 Moved Temporatily"); header ("Location: "."./?retry=1"); exit();
}?>

4.3数据库配置

<?php
//$db = @mysqli_connect("数据库地址","用户名","密码","数据库名")
$db = @mysqli_connect("localhost","hw","hwhwhw","hw")
or die("Fail to connect to Server");

4.4主页

<?php
session_start();
if(!isset($_SESSION["admin"])||!$_SESSION["login"]==true){header ("HTTP/1.1 302 Moved Temporatily"); header ("Location: "."../"); exit();}
?>
<html>
<head><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" type="text/css" href="css/index.css"><title>学生选课信息管理系统@2019</title>
</head>
<body>
<div class="container topnav"><div class="logo">学生选课信息管理系统</div><div class="userbox" style="float:right">你好,管理员 <?php echo $_SESSION["admin"]?> <a href="../logout.php"> 登出</a></div></div>
<div class="container main"><div class="leftnav"><div class="homepage"><a href="./welcome.php" target="frame">首页</a></div><div class="subtitle">学生管理</div><div class="item"><a href="./addStudent.php" target="frame">新增学生</a></div><div class="item"><a href="./queueStudent.php" target="frame">查询学生</a></div><div class="item"><a href="./getLog.php" target="frame">奖惩管理</a></div><div class="subtitle">院系管理</div><div class="item"><a href="./queueDept.php" target="frame">院系信息</a></div><div class="item"><a href="./queueMajor.php" target="frame">专业列表</a></div><div class="subtitle">课程管理</div><div class="item"><a href="./queueCourse.php" target="frame">课程查询</a></div><div class="item"><a href="./addCourse.php" target="frame">新增课程</a></div><div class="subtitle">选课管理</div><div class="item"><a href="./queueChoose.php" target="frame">学生选课</a></div><div class="item"><a href="./queueMark.php" target="frame">登记分数</a></div><div class="item"><a href="./queueRetake.php" target="frame">补考重修</a></div><div class="subtitle">数据统计</div><div class="item"><a href="./scoreStatistic.php" target="frame">成绩统计</a></div><div class="item"><a href="./classStatistic.php" target="frame">选课统计</a></div><div class="subtitle">系统设置</div><div class="item"><a href="./userManage.php" target="frame">用户管理</a></div><div class="item"><a href="./changePassword.php" target="frame">修改密码</a></div></div><div class="content"><iframe name="frame" frameborder="0" width="100%"  scrolling="yes"  src="./welcome.php"></iframe></div></div>
<div class="container footer"><span>数据库系统课程设计@2019</span>
</div>
</body>
</html>

4.5业务代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="./css/fun.css"><title>课程管理 >> 新增课程</title>
</head>
<body>
<h3 class="subtitle">课程管理 >> 新增课程</h3>
<form action="./fun/addCourse.php" method="post" target="resultbox"><div class="inputbox"><span>课程号:</span><input name="cid" required type="text"></div><div class="inputbox"><span>课程名:</span><input name="cname" required type="text"></div><div class="inputbox"><span>学分:</span><input name="credit" required type="text"></div><div class="inputbox"><span>上课地址:</span><input name="cadd" required type="text"></div><div class="inputbox"><span>开课学院:</span><?phprequire_once '../config/database.php';echo '<select required name="did">';$dept=mysqli_query($db,"select did,dname from department");while($dr=mysqli_fetch_object($dept)) {var_dump($dr);echo '<option value="'.$dr->did.'" ';  echo '> '.$dr->dname.'</option>' ;}echo '</select>';mysqli_close($db);?></div><div class="inputbox"><span>教师姓名:</span><input name="tname" required type="text"></div><br><div class="clickbox clearfloat"><span></span><input name="submit" type="submit" value="提交"></div><div class="redbox clickbox "><span></span><input name="reset" type="reset" value="清除"></div>
</form><iframe name="resultbox" frameborder="0" width="100%" height=100px ></iframe></body>
</html>

5.运行截图

基于PHP+mysql学生选课信息管理系统相关推荐

  1. mysql查询各类课程的总学分_基于jsp+mysql的JSP学生选课信息管理系统

    运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. IDE环境: Eclipse,Myeclipse,IDEA都可以 硬件环境: windows 7/8/10 ...

  2. 基于Java毕业设计学生学籍信息管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计学生学籍信息管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计学生学籍信息管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S ...

  3. 学生选课信息管理系统(可行性分析报告)

    附录A                            可行性研究报告的编写提示                                     A.1引言 A.1.1编写目的     ...

  4. java 教室借用管理系统_[内附完整源码和文档] 基于JAVA语言的学生选课信息管理系统...

    摘 要 本系统运用Java面向对象的方法设计而成. 近年来,学生选课系统越来越在高校学生群体中得到普及,其所承担的功能也变得越来越丰富,所起到的作用也变得越来越重要,在被学校学生重视的同时,也意味着它 ...

  5. Springboot+mysql学生就业信息管理系统-计算机毕业设计源码95340

    摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对学生就业信息管理系统等 ...

  6. 基于java的学生学籍信息管理系统

    设计出一个学籍管理信息系统,对学生的信息.课程.成绩进行统一管理,便于查询.修改和删除.涉及到的主要内容有:体系结构规划.设计平台的搭建以及系统的设计.主要实现的功能模块有管理系统的功能介绍子系统.新 ...

  7. JSP学生选课信息管理系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本项目包含学生,教师两个角色,然后学生可以查看选课信息,执行选课操作,老师可以修改学生 ...

  8. Jsp+MySQL学生学籍信息管理系统 Java毕业设计

    中学生学籍信息管理系统主要有三个访问权限.首先是管理员,管理员是整个系统的所有功能的管理者,有对学科.班级.教师.学生学籍信息.课表.学生身体素质以及教务公告的管理权限,可以对以上所有信息进行增删改查 ...

  9. Jsp+MySQL学生学籍信息管理系统

    中学生学籍信息管理系统主要有三个访问权限.首先是管理员,管理员是整个系统的所有功能的管理者,有对学科.班级.教师.学生学籍信息.课表.学生身体素质以及教务公告的管理权限,可以对以上所有信息进行增删改查 ...

最新文章

  1. Science首发奥密克戎突刺蛋白分子水平分析,揭秘2大传染性增强原因,柳叶刀:全球大流行有望3月结束...
  2. jQuery Tools:Web开发必备的 jQuery UI 库
  3. 数字化如何影响药物开发
  4. fiddler工具之Filters
  5. 计算机系统集成项目的管理及应用
  6. java开发指南_Java 12新功能完整指南
  7. 本地项目antd 修改.less文件导致内存溢出
  8. AttributeError: ‘set‘ object has no attribute ‘items‘
  9. Windows GDI和GDI+编程实例剖析(1)
  10. ac automaton 专题
  11. c语言学习-打印杨辉三角形(要求打印出10行)
  12. 学号 2016-2017-20155329《Java程序设计》课程总结
  13. python基础入门笔记_Python基础入门笔记:函数
  14. 数据结构算法实践-Python——序章
  15. doubango的帧率太低,怎么解决?
  16. java 显示 装配_【spring】---spring的装配Bean方式
  17. eclipse adt sdk jdk的关系
  18. FPGA学习网站推荐
  19. 使用rainbowcrack破解md5密文
  20. 查询大数据各组件版本

热门文章

  1. [Java基础 持久层Mybatis] Mybatis使用IN语句查询
  2. 题目:输入一个数,判断它是不是回文数。一个数从左边读和从右边读的结果是一模一样的话就是回文数,例如12321是回文数,12531不是回文数。
  3. 拖延症 你可把我害惨喽!
  4. juniper 开放端口_juniper如何查看端口流量
  5. Echarts 扇形百分比算法(最大余额法)
  6. [推荐]为什么你逃不脱打工被老板压榨的命运?
  7. 多线程常见问题及分析
  8. 新生研讨课——图像处理及其应用
  9. 举个程序员年终总结大纲的例子
  10. 新浪博客等级及积分计算