zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

基于 PHP + MySQL学生信息管理系统【100010766】

mysqlPHP 基于 学生 信息管理系统
2023-09-11 14:17:49 时间

学生信息管理系统

一、引言

1.1 1 设计开发的意义

学生信息档案的管理对于学校的管理者来说至关重要。作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。通过学生管理系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。

1.2 2 所设计应用系统的任务及目标

学生信息管理传统的手工管理主要包括学生档案管理,学生成绩管理。其中学生信息管理对大数据量要求较高,而教师排课系统由于需要十分专业的算法并且系统需求不断的变化,因此在实际应用时,往往会遇到很大的问题,需要进一步研究,目前一般的学校管理系统都包含了学生信息管理的功能。本系统不包含教师排课管理和教师管理的详细业务,只提供学生相关信息的查询。本系统以学校的学生信息管理为依托,结合教务教学管理,设计并开发一个学生信息管理系统,提供一个信息更新快捷、管理方便、功能设置合理的学生信息管理解决方案。针对学校大量的学生信息,就学生管理的几个方面,提供一个互动式的学生管理平台。系统目标如下:

通过学生信息管理系统的实现,使学校的学生信息管理更加科学化。

提供灵活、方便的操作。

节约学生信息管理的成本,提高学校管理的效率。

对系统提供必要的权限管理。

为学校考核学生的综合素质提供必要的数据支持。

1.3 3 设计开发及运行的软硬件环境

操作系统:Windows 7

数据库软件:MySQL

开发语言:PHP

开发 IDE:Zend Studio 10.1.0

二、系统分析与设计

2.1 1 系统需求分析

2.2 系统的目标任务

学生基本信息的增删改查,包括学生姓名、学号,出生日期,性别,电话,电子邮箱,地址,专业。

学生成绩信息的增删改查,包括数据结构,高等数学,计算机结构,大学英语,数据库设计。

对于新用户的登录注册,其中包括用户名,密码,以及用户的邮箱。

用户根据自己注册时的邮箱进行找回密码,以及根据用户名修改密码。

2.3 2 数据流图:

2.3.1 顶层数据流图

输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范围,以及与外部环境的数据交换关系。

2.3.2 数据字典:

数据字典可以用来对数据流图中的各部分进行定义,为系统的分析,设计及以后的实现提供有关元素一致性定义和详细的描述。

名字: 学生姓名;别名:name;描述:唯一学生姓名;定义:姓名=1{varchar}4名字:学号;别名:stuNum;描述:标识每一个学生;定义:学号=1{char}8
名字:出生日期;别名:age;描述:学生的年龄;定义:出生日期=1{char}32名字:性别;别名:sex;描述:学生的性别;定义:性别=1{char}4
名字:电话;别名:phone;描述:描述学生的联系方式;定义:电话={varchar}11名字:电子邮箱;别名:email;描述:描述学生的电子邮箱;定义:电子邮箱={char}64
名字:地址;别名:address;描述:学生住址;定义:地址={char}128名字:专业;别名:major;描述:标识学生所在的专业;定义:专业=1{char}128
名字:数据结构;别名:shuju;描述: 数据结构课程成绩;定义: 数据结构=1{tinyint}4名字:高等数学;别名:math;描述: 高等数学课程成绩;定义: 高等数学=1{tinyint}4
名字:计算机结构;别名:computer;描述: 计算机结构课程成绩;定义: 计算机结构=1{tinyint}4名字:大学英语;别名:engish;描述: 大学英语课程成绩;定义: 大学英语=1{tinyint}4
名字:数据库设计;别名:db;描述: 数据库设计课程成绩;定义: 数据库设计=1{tinyint}4

2.4 数据库概念结构设计

2.4.1 实体之间的 E-R 图

2.4.2 用户实体 E-R 图:

2.4.3 学生信息实体 E-R 图

2.4.4 学生成绩信息 E-R 图

2.5 4 数据库逻辑结构设计

2.5.1 根据以上 E-R 图,可以转换成如下逻辑结构:

学生表(姓名,学号,出生日期,性别,电话,电子邮箱,地址,专业)

成绩表(学号,数据结构,高等数学,计算机结构,大学英语,数据库设计)

学生表:

字段名数据类型字段长度是否为空
姓名Int4
学号Varchar8
出生日期Varchar32
性别Char4
电话Varchar11
电子邮箱Char64
地址Char128
专业char128

2.5.2 数据库物理结构设计

学生基本信息表:

CREATE TABLE `student` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(4) NOT NULL DEFAULT '',
    `stuNum` char(8) NOT NULL DEFAULT '',
    `age` char(32) DEFAULT NULL,
    `sex` char(4) DEFAULT NULL,
    `phone` varchar(11) NOT NULL DEFAULT '',
    `email` char(64) NOT NULL DEFAULT '',
    `address` char(128) NOT NULL DEFAULT '',
    `major` char(128) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`)
    ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

2.6 5 数据库创建(创建表的界面、创建外码的界面)

2.7 6 系统总体结构设计(给出系统总体结构图)

系统层次框图:

三、系统开发及实现

3.1 论述设计开发采用的技术及设计效果

1 用户注册模块:

新用户输入用户名和密码邮箱进行注册。其中两次密码必须输入一致。

学生信息浏览模块

该模块可以对学生的基本信息进行浏览,修改,或者删除

学生信息录入模块

四、总结

数据库课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

通过这次数据库课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

五、参考文献

周佩德 《数据库原理及应用》 电子工业出版社

王要武 管理系统 电子工业出版社 2003

Web 程序设计(第 6 版) 清华大学出版社

周之英 现代软件工程 科学出版社 2003

UML 面向对象建模与设计 人民邮电出版社

六、附录(附部分源代码)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html;charset=utf-8"/></head>
<style type="text/css">
body{background-color:#ececec;}
.main{position:absolute;top:40px;left:450px;font:white;}
</style>
<body>
<div class="main">
<h1>登录系统</h1>
<form  action="loginProcess.php" method="post">
用户名<input type="text" name="username">
<p>密&nbsp&nbsp码<input type="password" name="password"></p>
验证码<input type="text" name="checkCode" size="5"/>
<img src="checkCode.php" οnclick="this.src='checkCode.php?aa='+Math.random()" title="看不清,换一张" style="cursor:pointer"/><br/>
<p><input type="submit" name="submit" value="登录"></p>
</form>
<a href="forgot.php">忘了密码?</a> 
<a href="SignUp.php">注册新用户</a>
</body>
</html>

<?php 
	//接收errno
	require_once 'cookie.php';
	if(!empty($_GET['errno'])){	
		//接收错误编号
		$errno=$_GET['errno'];
		if($errno==1){
			echo "<br/><font color='red' size='3'>你的用户名或者密码错误</font>";
		}elseif($errno==2){
			echo "<br/><font color='red' size='3'>验证码错误</font>";
		}
	}
?>
</div>

<html>
<head>
<title>用户注册</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script src="js/log_in.js"></script>
</head>
<body style='background-color:yellow'>
<form action="log_inProcess.php" method="post" id="logForm">
<h1>新用户注册</h1><br>
<table width="400" border="0">
<tr>
<td align="center">用户名</td>
<td><input name="username" type="text" size="20" id="username"></td>
</tr>
<tr>
<td align="center">密码</td>
<td><input type="password" name="password" size="20" id="password"></td>
</tr>
<tr>
<td align="center">确认密码</td>
<td><input type="password"  name="Confirm_password" id="Confirm_password" size="20"></td>
</tr>
<tr>
<td align="center">Email</td>
<td><input type="text" name="email"  id="email"  size="20"></input></td>
</tr>
</table>
<input type="button" οnclick="validate()" style="cursor:pointer" value="注册"></input><br>
</form>

如果您已经有账号,请点击这里登陆

</body>
</html>
<body style='background-color:#ccc'>
            <?php
            header("Content-type:text/html;charset=utf-8");
require_once 'cookie.php';
require_once 'SqlHelper.class.php';
session_start();
if(!isset($_SESSION['username'])) {
    header("Location:index.php");
    exit();
}
if(!empty($_GET['username'])) {
    echo "登录成功!!";
    echo "欢迎你".$_SESSION['username'].".</br>";
    getLastTime();
}
?>
<hr/>
<script src="js/jquery.1.4.2-min.js" type="text/javascript"></script>
            <script src="js/studentAdd.js"></script>
                        <script type="text/javascript" >
$(document).ready(function() {
    $(".left ul li").click(function() {
        var index = $(this).index();
        $(this).addClass("selected").siblings().removeClass("selected");
        $(".right div").eq(index).show().siblings().hide();
    });
});
</script>
<link rel="stylesheet" href="css/main.css">
                            <div class="left">
                                           <ul>
                                           <li>首页</li>
                                           <li>学生基本信息</li>
                                           <li>增加学生</li>
                                           <li>学生成绩登记</li>
                                           <li>成绩显示</li>
                                           <li><a href="index.php" style="text-decoration:none;color:black;">退出系统</a></li>
                                                   </ul>
                                                   </div>
                                                   <div class="right">
                                                               <div>欢迎进入学生管理系统</div>
                                                               <div class="hide">
                                                                           <?php
                                                                           $sqlhelper = new SqlHelper();
$sql = "select * from student";
$res = $sqlhelper->execute_dql2($sql);
echo "<table border=1 width=100% cellpadding=2 cellspacing=0 >";
echo "<tr><td align='center'>姓名</td><td align='center'>学号</td><td align='center'>出生日期</td><td align='center'>性别</td><td align='center'>电话</td><td align='center'>电子邮箱</td><td align='center'>地址</td><td align='center'>专业</td><td></td><td></td></tr>";
while($row = mysql_fetch_assoc($res)) {
    echo "<tr><td align='center'>{$row['name']}</td><td align='center'>{$row['stuNum']}</td><td align='center'>{$row['age']}</td><td align='center'>{$row['sex']}</td><td align='center'>{$row['phone']}</td><td align='center'>{$row['email']}</td><td align='center'>{$row['address']}</td><td align='center'>{$row['major']}</td><td align='center'><a href='studentUpdate.php?id={$row['id']}'>修改</a></td><td align='center'><a href='studentDel.php?id={$row['id']}'>删除</a></td></tr>";
}
echo "</table>";
?>
</div>
<div class="hide">
               <form action="stuProcess.php" method="post" id="stuForm">
                            <h1>学生信息录入</h1><br>
                            <table width="400" border="0">
                                         <tr>
                                         <td align="center">姓名</td>
                                                 <td><input name="name" type="text" size="40" id="name"></td>
                                                         </tr>
                                                         <tr>
                                                         <td align="center">学号</td>
                                                                 <td><input type="text" name="stuNum" size="40" id="stuNum"></td>
                                                                         </tr>
                                                                         <tr>
                                                                         <td align="center">性别</td>
                                                                                 <td>男<input type="radio" name='sex' value='男' checked> 女<input type="radio" name='sex' value="女" ></td>
                                                                                         </tr>
                                                                                         <tr>
                                                                                         <td align="center">出生年月</td>
                                                                                                 <td><input type="text" name="age"  id="age"  size="40"></input></td>
                                                                                                         </tr>
                                                                                                         <tr>
                                                                                                         <td align="center">电话</td>
                                                                                                                 <td><input type="text" name="phone"  id="phone"  size="40"></input></td>
                                                                                                                         </tr>
                                                                                                                         <tr>
                                                                                                                         <td align="center">email</td>
                                                                                                                                 <td><input type="email" name="email"  id="email"  size="40"></input></td>
                                                                                                                                         </tr>
                                                                                                                                         <tr>
                                                                                                                                         <td align="center">地址</td>
                                                                                                                                                 <td><input type="text" name="address"  id="address"  size="40"></input></td>
                                                                                                                                                         </tr>
                                                                                                                                                         <tr>
                                                                                                                                                         <td align="center">专业</td>
                                                                                                                                                                 <td><input type="text" name="major"  id="major"  size="40"></input></td>
                                                                                                                                                                         </tr>
                                                                                                                                                                         </table>
                                                                                                                                                                         <input type="button" οnclick="studentvalidate()" style="cursor:pointer" value="提交"></input><br>
                                                                                                                                                                                 </form>
                                                                                                                                                                                 </div>
                                                                                                                                                                                 <div class="hide">
                                                                                                                                                                                             <form action="gradeProcess.php" method="post" id="gradeForm">
                                                                                                                                                                                                     <h1>学生成绩登记</h1><br>
                                                                                                                                                                                                     <table width="400" border="0">
                                                                                                                                                                                                             <tr>
                                                                                                                                                                                                             <td align="center">学号</td>
                                                                                                                                                                                                                     <td><input type="text" name="stuNum" size="40" id="gradeNum"></td>
                                                                                                                                                                                                                             </tr>
                                                                                                                                                                                                                             <tr>
                                                                                                                                                                                                                             <td align="center">数据结构</td>
                                                                                                                                                                                                                                     <td><input type="text" name="shuju"  id="shuju"  size="40"></input></td>
                                                                                                                                                                                                                                             </tr>
                                                                                                                                                                                                                                             <tr>
                                                                                                                                                                                                                                             <td align="center">高等数学</td>
                                                                                                                                                                                                                                                     <td><input type="text" name="math"  id="math"  size="40"></input></td>
                                                                                                                                                                                                                                                             </tr>
                                                                                                                                                                                                                                                             <tr>
                                                                                                                                                                                                                                                             <td align="center">计算机结构</td>
                                                                                                                                                                                                                                                                     <td><input type="email" name="computer"  id="computer"  size="40"></input></td>
                                                                                                                                                                                                                                                                             </tr>
                                                                                                                                                                                                                                                                             <tr>
                                                                                                                                                                                                                                                                             <td align="center">大学英语</td>
                                                                                                                                                                                                                                                                                     <td><input type="text" name="english"  id="english"  size="40"></input></td>
                                                                                                                                                                                                                                                                                             </tr>
                                                                                                                                                                                                                                                                                             <tr>
                                                                                                                                                                                                                                                                                             <td align="center">数据库设计</td>
                                                                                                                                                                                                                                                                                                     <td><input type="text" name="database"  id="database"  size="40"></input></td>
                                                                                                                                                                                                                                                                                                             </tr>
                                                                                                                                                                                                                                                                                                             </table>
                                                                                                                                                                                                                                                                                                             <input type="button" οnclick="gradevalidate()" style="cursor:pointer" value="提交"></input><br>
                                                                                                                                                                                                                                                                                                                     </form>
                                                                                                                                                                                                                                                                                                                     </div>
                                                                                                                                                                                                                                                                                                                     <div class="hide">
                                                                                                                                                                                                                                                                                                                                 <?php
                                                                                                                                                                                                                                                                                                                                 $grade = new SqlHelper();
$sql1 = "select s.name,g.* from student s,grade g where s.stuNum=g.stuNum";
$res1 = $grade->execute_dql2($sql1);
echo "<table border=1 width=100% cellpadding=0 cellspacing=0 >";
echo "<tr><td align='center'>姓名</td><td align='center'>学号</td><td align='center'>数据结构</td><td align='center'>高等数学</td><td align='center'>计算机结构</td><td align='center'>大学英语</td><td align='center'>数据库设计</td></tr>";
while($row = mysql_fetch_assoc($res1)) {
    echo "<tr><td align='center'>{$row['name']}</td><td align='center'>{$row['stuNum']}</td><td align='center'>{$row['shuju']}</td><td align='center'>{$row['math']}</td><td align='center'>{$row['computer']}</td><td align='center'>{$row['engish']}</td><td align='center'>{$row['db']}</td></tr>";
}
echo "</table>";
?>
</div>
<div class="hide">退出系统</div>
               </div>
               <?php
               require_once 'SqlHelper.class.php';
$id = $_GET['id'];
$stuDel = new SqlHelper();
$sql = "delete from student where id=$id";
$res = $stuDel->execute_dml($sql);
if($res) {
    echo "删除成功!";
}
echo '<a href="manage.php?username=$username">返回</a>';
?>
<?php
require_once 'SqlHelper.class.php';
$name = $_POST['name'];
$stuNum = $_POST['stuNum'];
$sex = $_POST['sex'];
$age = $_POST['age'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$address = $_POST['address'];
$major = $_POST['major'];
$sql = "insert into student values (null,'$name','$stuNum','$age','$sex','$phone','$email','$address','$major')";
$stuAdd = new SqlHelper();
$res = $stuAdd->execute_dml($sql);
if($res==1) {
    echo "添加成功";
} else {
    echo "添加失败";
}
$stuAdd->close_connect();
session_start();
$username=$_SESSION['username'];
echo '<a href="manage.php?username=$username">返回</a>';
?>
<?php
require_once 'log_inService.class.php';
$username=$_POST['username'];
$password=$_POST['password'];
$email = $_POST['email'];
$log_inservice=new log_inService();
$res=$log_inservice->addMenber($username,$password,$email);
if($res==1) {
    header("Location: ok.php");
    exit();
} else {
    header("Location: error.php");
    exit();
}
$sqlhelper->close_connect();
?>
<?php
require_once 'SqlHelper.class.php';
class log_inService {
    function addMenber($username,$password,$email) {
        $sql="insert into user (username,password,email) values ('$username','$password','$email')";
        $sqlhelper=new SqlHelper();
        $res=$sqlhelper->execute_dml($sql);
        $sqlhelper->close_connect();
        return $res;
    }
}
?>
<?php
require_once 'loginService.class.php';
$username=$_POST['username'];
$password=$_POST['password'];
//验证码
$checkCode=$_POST['checkCode'];
session_start();
if($checkCode!=$_SESSION['myCheckCode']) {
    header("Location: index.php?errno=2");
    exit();
}
$loginservice = new loginService();
if($username=$loginservice->checkAdmin($username,$password)) {
    session_start();
    $_SESSION['username']=$username;
    header("Location:manage.php?username=$username");
    exit();
} else {
    header("Location:index.php?errno=1");
    exit();
}
?>

♻️ 资源

在这里插入图片描述

大小: 49.0KB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87450269
注:如当前文章或代码侵犯了您的权益,请私信作者删除!