基于php学生信息管理系统设计
2022-10-28 15:19:56
241
{{single.collect_count}}

获取项目源文件,联系Q:1415736481,可指导毕设,课设

摘要

若干年前,各个学校的学生成绩管理基本上都是靠手工进行,随着学校的规模增大,有关学生信息管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生信息管理。但手工管理具有效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等缺点。因此,使用效率更高的方式来处理这些数据就更显得重要了。本文就该系统进行分析和整体的介绍,并介绍了使用PHP + MYQSL技术开发该系统的相关模块的整个过程。该系统主要利用了PHP强大的网络数据库访问技术,与MYSQL的强大的数据库功能来实现主要功能。系统设计并实现了学生基本信息管理,以及管理员后台管理的功能。

论文主要介绍了本课题的开发背景、系统分析、数据库设计和系统的设计与实现。

关键词  asp;mysql;信息管理;管理员后台管理

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

前言

PHP是一种跨平台、嵌入式的服务器执行的描述语言。Internet的兴起加速了人与人之间的沟通,环球网(World Wide Web,WWW)的普及是的网络的使用由早期的蚊子、命令控制的模式进而演变到图形、鼠标控制模式,而在网络的软件及硬件的快速发展之下,网络正向多媒体方向发展。目前,网络已经变成现代人们生活中不克或缺的一部分,未来的发展更无可限量。由于网络的快速发展,网络上的各种应用也从单向的服务发展到交互式的服务,使用户可以利用CGI来达到和服务器互动的效果。近年来,动态网页的发展非常迅速,为了达到互动的效果,许多技术应运而生,PHP即是其中一种。从PHP4到PHP5,在面向对象设计概念上有相当大的改变。在PHP5以前,及支持面向对象的概念,几在PHP程序中可以使用面向对象的概念,但是面向对象的功能支持不多。在PHP5中已经可以看到相当完整的面向对象功能,除了面向对象以外PHP5还增加了许多其他功能,包括使用Zend Engine II、更新加强XML、MYSQL extension等。PHP支持的数据库也相当多,它除了跟一般的CGI语言一样可以有网页采集数据,经处理之后响应给用户以外,还支持各种数据库使得用户可以轻松地开发出网络数据库的应用程序。

PHP可以在UNIX系列及Windows系列的操作系统上运行,且不会因为操作系统的兼容性产生问题。且PHP是开放的源代码,即在GPL下用户可以任意地使用并且不会受到限制,使得许多爱好者都可以加入到研究工作中,进而使得各种技术能过得到蓬勃发展。

PHP的应用范围相当广,除了可以用于设计一般的网页互动效果以外,还可以在授权认证的范围之下进行存取文件等操作。PHP支持许多数据库,因此可以利用Internet轻易地访问数据内容,而目前最热门的电子商务更缺少不了这样的技术。另外,PHP也支持各种通信协议,还可以轻易地开发出许多客户端的网络应用程序。

PHP可简单的视为一种程式语言,可以用来设计留言版,讨论区,或聊天室等等的动态网页.而MySQL是资料库的一种,最常用的用途是作为网页程式之资料库,为了因应未来讨论区文章会日渐增多,所以需要有MySQL套件的支援,其目的就是在处理这些由客户端传送来的资料.所以,PHP可以应用的范围可针对其特性进行发挥。常见的PHP应用包括交互式网页、动态网页、留言板、讨论区、电子邮件等。

第一章  设计理论

1.1 PHP 程序设计的特点

 PHP是一种很有前景的Web语言,因为它有着诸多方面的优势。

1.1.1开源性代码

这就意味着可随意修改和扩展它的功能,还能够得到数百万PHP程序员、数万个PHP开发团队的支持,可与他们一道分享心得,交流经验,这对程序员来说是在美妙不过的事情了。

1.1.2易于学习

PHP的语法与C、ASP、JSP类似,对于熟悉上述语言之一的人来说,只需要30分钟就可以将PHP的核心语法全部掌握,如果又对HTML非常了解,就能立即把PHP代码无障碍地添加进站点,使得站点具有动态性和交互性

1.1.3数据库的连接

PHP的开发者们为了更适合Web编程,开发了许多外围的基库,这些库包含了更易用的层,这样就可以方便地利用PHP连接包括Oracle、MS-Access、MYSQL在内的大部分数据库。

还有就是它是面向对象编程的,基于Web的编程工作非常需要面向对象编程,PHP能够满足这些需求,它面向对象,提供类和对象,支持构造器。

最后还值得特别提出的就是它的可扩展性,随着版本的更新,PHP的功能在一步步扩展,同时由于它是开源项目,只需要熟悉PHP,自己完全能对它的功能进行扩展。基于这些优势,所以,在选择开发学生管理系统的时候我使用了PHP脚本语言。

1.2 MYSQL 数据库技术

 对于网站开发来说,使用数据库是开发专业站点必不可少的,但是但是数据库类别林林总总,Access、SQL Server和Oracle都不是开源免费软件,需要购买才能使用,而MYSQL是开源软件,选择MYSQL是最节能成本的做法,而且Apache、PHP、MYSQL是绝配,它们的组合有着最佳的性能和最大的用户支持群。

MYSQL是一个真正的多用户,多线程的结构化查询语言数据服务器,它以客户机/服务器的结构实现,并且还具有以下优势。

1.2.1速度快

开发者声称MYSQL数据库可能是目前得到的最快的数据库。

1.2.2连接性和安全性

MYSQL是完全网络化的,其数据库可在因特网上访问,因此可以和任何地方的任何人共享数据库,而且MYSQL还能进行访问控制,能够控制特定用户不允许其访问数据库。

1.2.3可移植性

MYSQL可运行在各种版本的UNIX系统及其他费NUXI系统上,从家用的PC到高级服务器都可运行MYSQL

1.2.4它支持SQL语言

MYSQL支持支持这种现代数据库系统都选用的语言。

1.2.5容易使用

MYSQL是一个高性能且相对简单的数据库,易于操作。

1.2.6成本优势

MYSQL对于对于大多数个人用户来说是免费的!

基于以上种种优势,所以,在做学生管理系统的时候我选择使用MYSQL作为Web服务器的数据库。

第二章  需求分析

2.1系统需求分析

随着高学学生的增多,师资力量的扩大,学样课程的增加,对教师与学生、课程管理的要求也越来越高,而如何有效的管理起教师与学生等学绩相关的资源,就成为了各高校考虑的一个重要方面。

    为此,我们设计了本学生管理系统,为师生提供了完善的信息管理功能。

2.2 学生管理系统的实现目标分析

学生课绩信息管理系统主要提供了登陆模块,学生模块,教师模块,管理员模块,四部分组成。,其主要功能如下:

根椐用户登录的类型,自动转向相应的操作模块。

学生模块中,学生可以查看成绩与及自己的个人信息等操作。

教师模块中,教师可以有查看学生信息的所有信息。

管理员模块中,有包括新增,更改,删除、查询学生,信息的功能。

第三章  学生管理系统的设计

3.1 学生管理系统开发工具的确定

 基于以上学生管理系统开发语言以及数据库的确定,所以本系统的开发工具就选择了Dreamweaver8.02版本和MYSQL5.0版本以及Photoshop CS版本

3.2 学生管理系统的开发思想

尽量采用学校现有的管理思路,及先进的学生管理系统开发方案,从而达到提高系统开发水平和应用效果的目的;

系统应符合学生管理系统的规定,满足常用的信息管理需求,并达到操作过程的直观、方便、实用、安全等要求;

系统采用模块化的程序设计方法,既便于系统功能模块的组合,又便于未参与开发的技术人员补充、维护;

3.3 学生管理系统的功能

3.3.1 学生管理系统功能分析

实现功能包括查询学生信息 、添加学生信息、修改学生信息、删除学生信息 打印学生信息等主要用PHP动态代码编写与测试

 

3.3.2学生管理系统设计

根据分析得出如下图所示的学生管理系统流程图

 

查询界面

退出结束

查询

删除

修改

插入

管理员界面

检验密码

检验密码

用户登录

管理员登陆

开始

 

 

 

四、学生管理系统的实现

 4.1 学生管理系统主体窗口的实现

4.1.1登陆窗口

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.1.2主题功能窗口

 

 4.2学生管理系统主题功能的实现

   实现功能包括查询学生信息 、添加学生信息、修改学生信息、删除学生信息 打印学生信息等主要用PHP动态代码编写与测试

4.2.1、管理员界面与登录连接

<?php

session_start();

$USER=$_GET['textfield3'];

$APWD=$_GET['textfield4'];

$db=mysql_connect("localhost","root","root");

mysql_select_db("b",$db);

$result=mysql_db_query("b","select * from student where id='".$USER."'",$db);

$rs=mysql_fetch_array($result,2);

session_register("a");

session_register("b");

$_SESSION['a']=$rs[0];

$_SESSION['b']=$rs[0];

if(($USER==$_SESSION['a'])and($APWD==$_SESSION['b']))

{header("Location: http://127.0.0.1/php/select.html");}

else

{ $result=mysql_db_query("b","select * from student ");

 $rs=mysql_fetch_array($result,2);

  if($rs[0]!=$USER and $rs[1]!=$APWD)

   echo "不存在";

   else

  echo "cuowu ";}

mysql_free_result($result);

mysql_close($db);

?>

4.2.2、普通用户查询连接

<?php

$USER=$_GET['user'];

$APWD=$_GET['apwd'];

$db=mysql_connect("localhost","root","root");

mysql_select_db("b",$db);

$result=mysql_db_query("b","select * from admin ");

$rs=mysql_fetch_array($result,2);

session_start();

session_register("a");

session_register("b");

$_SESSION['a']=$rs[0];

$_SESSION['b']=$rs[1];

if(($USER==$_SESSION['a']) and  ($APWD==$_SESSION['b']))

header ("Location: http://127.0.0.1/php/guanli.html");

else

header ("Location: http://127.0.0.1/php/denlu.html");

mysql_free_result($result);

mysql_close($db);

?>

4.2.3、管理员的插入操作

<?php

require_once 'config.php';  //引入配置文件

$dept_id=$_POST['dept_id'];

$class_id=$_POST['class_id'];

$s_id=$_POST['s_id'];

$name=$_POST['name'];

$sex=$_POST['sex'];

$age=$_POST['age'];

$datetime=$_POST['datetime'];

$tel=$_POST['tel'];

$address=$_POST['address'];

$beizhu=$_POST['beizhu'];

$db=mysql_connect($db_host,$db_user,$db_password);

if(!$db)

echo mysql_error();

mysql_select_db("message");

if($beizhu!="")

{

$myquery="insert into student values ('$dept_id','$class_id','$s_id','$name','$sex','$age','$datetime','$tel','$address','$beizhu')";

$result=mysql_query($myquery,$db);

if($result)

{

echo "添加成功";

}

else

{

echo "失败";

}

}

 

else

{

$myquery="insert into student values ('$dept_id','$class_id','$s_id','$name','$sex','$age','$datetime','$tel','$address','null')";

$result=mysql_query($myquery,$db);

if($result)

{

echo "添加成功";

}

else

{

 echo "失败";

}

 

}

echo mysql_error();

?>

4.2.4、管理员修改界面的连接

<?php

$dept_id=$_POST['dept_id'];

$class_id=$_POST['class_id'];

$s_id=$_POST['s_id'];

$name=$_POST['name'];

$sex=$_POST['sex'];

$age=$_POST['age'];

$datetime=$_POST['datetime'];

$tel=$_POST['tel'];

$address=$_POST['address'];

$beizhu=$_POST['beizhu'];

$borthdy=$_POST['borthdy'];

require_once 'config.php';  //引入配置文件

$db=mysql_connect($db_host,$db_user,$db_password);

mysql_select_db("message");

 

$myquery="update student set dept_id='".$dept_id."',class_id='".$class_id."',name='".$name."',sex='".$sex."',age='".$age."',borthday='".$borthday."',tel='".$tel."',address='".$address."',beizhu='null'  where '".$s_id."'=s_id ";

 

$result=mysql_query($myquery,$db);

echo $result;

if($result)

{

echo "修改成功";

}

else

{

 echo "修改失败";

}

?>

4.2.5管理员删除操作

<?php

$s_id=$_POST['textfield'];

require_once 'config.php';  //引入配置文件

$db=mysql_connect($db_host,$db_user,$db_password);

mysql_select_db("message",$db);

$result=mysql_query("select * from student where '".$s_id."'=s_id ",$db);

$rs=mysql_fetch_array($result,2);

if(!$rs)

{

   echo "不存在";

}

else

{

echo $rs[0];

echo "<center>";

echo "<br><br><br><br>";

echo "<h1>你删除的信息是:</h1>";

echo "<br><br><br><br>";

echo "<table algin=center border=1><tr algin=center bgcolor=#ffccff>";

 echo "<tr algin=center bgcolor=#CCFFCC><td>系别</td><td>班级</td><td>学号</td><td>姓名</td><td>性别</td><td>年龄</td><td>出生日期</td><td>联系方式</td><td>地址</td><td>备注</td></tr><tr>";

foreach($rs as $value)

    {

     echo "<td>";

    echo $value;

     echo "</td>";

    }

echo "</tr></table>";   

echo "</center>";

$result=mysql_query("delete from student where '".$s_id."'=s_id ",$db);

echo $result;

if($result)

{

 echo "<center>";

 echo "<br><br><br><br>";

 echo "<h3>删除成功</h3>";

 echo "</center>";

}

else

{

 echo "<center>";

 echo "删除失败";

 echo "</center>";

}

}

?>

4.2.6、管理员和普通用户的查询操作

<?php

  $a=$_GET['id'];

    $db=mysql_connect("localhost","root","root");

  mysql_select_db("b",$db);

   

   $result=mysql_db_query("b","select * from student where id='".$a."' ",$db);

    $rs=mysql_fetch_array($result,2);

  if($rs)

  { 

         if(ereg ("0([0-9]{4})0([0-9]{2}$)",$a))

         {  $c=mysql_connect("127.0.0.1","root","root");

            $q=mysql_db_query("b","select * from student where id='".$a."'",$db);

            echo "<table border=1><tr>";

            echo"<td>id</td><td>name</td><td>English</td>

                 <td>chinese</td><td>math</td><td>TE</td>";

            echo "</tr>";

            while ($f=mysql_fetch_array($q))

            {  

                echo "<tr>";

                echo "<td>".$f[0]."</td><td>".$f[1]."</td><td>".$f[2]."</td>

                      <td>".$f[3]."</td><td>".$f[4]."</td><td>".$f[5]."</td>";

            }

            echo "</table>";

   }

   else

   {   echo "你输入的学号不正确,重新输入。";

   }

   }  

      else

    echo "学号不存在";

?>

五、MySQL数据库与PHP连接与创建

5.1、PHP与MySQL数据库的连接

把ini文件复制到C盘指定路径system32下并保存。重新启动Apache和Mysql。

PHP中建立MySQL数据库。

建立:create database message;

use message;

create table student (dept_id varchar(2) ,class_id varchar(5) ,s_id varchar(8) ,name varchar(10) ,sex varchar(4) ,age int ,birthday varchar(8) ,tel varchar(11) ,address varchar(50) ,beizhu varchar(50));

5.2总体测试

 管理员用户"输入自己的用户名和口令(用户名:root口令:root),点击"登录".登录之后可以:添加学生信息,修改学生信息,查询学生资料,删除学生信息等操作.

普通用户:输入自己的学号和口令(学号和口令统一为123456),点击"登录".完成登录之后可以:自由查询个人信息.

六、小结

    使用PHP(Hypertext Preprocessor)最简单的目的是为了要产生「动态」的网页,所谓「动态」,不是指网页上有几个会动的GIF图档,或是有个川流不息的走马登,而是指动态的「内容」,例如:我们想在网页上呈现一些最新的消息,当讯息要更新时,我们得重新编辑该网页(HTML档),在这种情况下,这个网页是「静态」的,因为它的内容不能即时更新.如果要改写这个网页,在其中加入存取资料库撷取最新资讯的话,那0它就是个「动态」的网页了;以后无论视讯息的增加或异动,都只要从资料库中著手,无须再去修改这网页了.

通过这次课程设计,我们对PHP、Apache、MySQL三套软件更加熟悉,从而我们使用静态代码不能实现的界面可以利用php动态代码来完善实现它的不足,而且对我们以后大型网站的设计、代码程序的编写都做了良好的基础。对PHP我们可以利用其比较成熟的功能优势来设计面向对象的界面,从而使我们的动态页面更加美观、完善而且强大。

通过系统的开发,我对软件开发过程有了更清晰的了解,首先是问题定义、需求分析,然后是功能设计、详细设计等,并对软件测试的方法、手段有了较深的理解,同时对制造业的流程有了一个系统的认识。在开发过程还认真学习了与系统相关的知识,极大地拓宽了我的知识面,我感到收获不小。

因为以前没有使用PHP语言设计管理软件的经验,在这次设计的过程中,我遇到专业知识方面的困难非常多,主要困难集中在管理知识、思路设计等方面的不足上。

还有就是操作界面的方面问题,尽管在设计的过程中,我们时刻考虑到了操作界面的友好性,但实际情况是远远不能满足本系统的要求,我想在今后的发展中,本系统还会有一个更大的提升空间。

经过这3个月的毕业设计实习,确实学到了不少的东西,同时也深感自己知识的欠缺。虽然即将毕业,但在以后的学习工作中,一定要继续坚持不懈地学习新兴的专业知识及相关的非专业知识,只有这样才能紧跟时代的潮流,符合社会的需要。

致  谢

如果没有郭国弟老师的细心指导,以及班主任朱海水老师和同学的帮助,我不可能这么顺利地完成毕业设计。在这段时间里,郭老师总是细心地指出我的设计里的每一处错误,不厌其烦地对我进行指导,使我在完成任务的过程中不断进步,不断成长。虽然不到一年的时间不算长,但这却是我学习生涯中的最关键时刻,使我终身难忘。

在此,我只想真心地对郭老师和班主任老师说声“谢谢”,并祝他们身体健康,工作顺利,万事如意。同时,我也感谢全体计算机1班的同学对我默默地支持。最后,我还想说一声:“我爱永成职业学院”,现在我又突然想起那句永远藏在心底的话,“今天我以学校为荣,明天学校以我为荣”,我坚信我们学校的同学在离开学校后,回像在学校是一样的积极向上,并在自己的工作岗位上敬业奉献!学校会以我为荣的!

 

参考文献

[1]  Vikram Vaswani.MYSQL完全手册.北京:电子工业出版社,2007,4

[2]  高红霞. 21天学通PHP.北京:电子工业出版社,2009,3

[3]  刘竹林. 软件工程与项目管理.北京:北京师范大学出版社,2008,7

[4]  (美)吉尔摩. PHP与MySQL 5程序设计(第二版). 北京:人民邮电出版社,2007,2

[5]  PHP China . PHP 5项目开发实战详解.北京:电子工业出版社2008,1

[6]  四维科技 赵斯思 曹衍龙 . PHP网络编程技术与实例.北京:人民邮电出版社,2006,3

[7] (美) Luke Welling, Laura Thomson. PHP和MySQL Web开发_中文版(SAMS PUBLISHING PHP AND MYSQL WEB DEVELOPMENT)2005大全.北京: 机械工业出版社,2005,333

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}