1、1摘要公共课网上考勤系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我使用 PHP+MySQL 作为开发工具,并将 APACHE 作为服务器平台。利用其提供的各种优越性,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统.本系统完成了如下主要功能:学生及教师的注册与安全登录,签到并防止冒名签到,平时成绩的统计,及老师及学生对总成绩及个人成绩的查询。从而使系统完全能满足
2、经济性、灵活性、系统性及可靠性的要求 公共课网上考勤系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我使用 PHP+MySQL 作为开发工具,并将 APACHE 作为服务器平台。利用其提供的各种优越性,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统.本系统完成了如下主要功能:学生及教师的注册与安全登录,签到并防止冒名签到,平时成绩的统计,及老师及学生对总成绩及个人
3、成绩的查询。从而使系统完全能满足经济性、灵活性、系统性及可靠性的要求 关键字:安全登录,冒名签到,统计,查询第一章 概 述1.1 PHP 的概念2PHP: Hypertext Preprocessor (超文本预处理器) 的缩写,它是一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象 的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言PHP 是一种功能强大的脚本语言。PHP 将击败 PERL/Python 并取而代之。PHP 是下一代的 PERL/Python 脚本。PHP 可以胜任任何PERL/Python 做的工作,并且做的更多,更好,更简洁
4、! 1.2 PHP 在网络编程方面的优越性1995 年时,Rasmus 在用 PHP 写他的个人主页;今天,PHP 成为风靡全球的脚本语言,越来越多的站点选择使用 PHP,连 Yahoo 都放弃了自己的脚本而改用 PHP 支持它的网站。可以说, PHP 是一个奇迹。我一直认为,任何奇迹背后都有它的原因。现在,就让我们透过这个奇迹,来看看PHP 的成功之道。1 简单易用PHP 的入门门槛很低,它对使用者的要求微乎其微。学过 C 语言的人,使用 PHP 几乎不需要什么时间。它们的语法是如此相似,以至于我常常想,是不是在 C 语言变量前加个$就能改成 PHP。这使得大量 C 程序员在网络脚本中选择了
5、 PHP。另外,比起 ASP 的组件系统和 Java 庞大的类库来,PHP 的函数库要好学多了。在编程风格上,PHP 更是自由,你可以使用 N种风格来写你的脚本程序。这些特性使得 PHP 成为初学者的首选语言。抢占初学者市场是很重要的策略。如同任何人都会对自己的初恋记忆犹新一样,人们往往会对最初学习的语言有很深的感情。即使后来自己成长了,改用其他语言了,还是会时时记起最初学习的语言。在这点上,PHP 做得很出色。2 剪裁得当3PHP 开发组是最了解网络的一群人,他们非常清楚用户要的是什么。PHP 就是要做一个出色的网络脚本语言,而且,它只是要做一个网络脚本语言。PHP 提供的函数集在网络方面相
6、当强大,而且重点均专注于网络应用。像 PHP 中的无组件文件上传,超多数据库支持等特性都表现出这个特点。顺便说一句,PHP 甚至支持 ACCESS 数据库。专注使得 PHP 在网络上表现出极其优秀的性能。有失才能有得。3 支持强大PHP 有强大的 OpenSource 团体支持,在网络上有数以万计的开源代码。你可以整合几个现有程式来实现你的应用,也可以分析大师级的代码来得到提高。PHP 还有很多扩展性的项目来增强 PHP 在某个方面的功能。像注重编程规范化和代码重用的 PEAR,提供可编译模板技术的 Smarty,甚至开发桌面程序的 GTK。分析完这几个理由,我们可以看出,PHP 的成功得益于
7、 PHP 开发组的战略眼光。PHP 提供了一个最小工作集,使用户能用最简单的方式高效地完成自己需要的应用。这正是初学者需要的。然后它通过方便的扩展来提供各个方面的解决方案,这样,你只需要学你要用到的那个领域的东西。当你涉及的领域越来越多时,你的水平也随之提高,当你熟悉了大多领域时,回头看看,会发现不知不觉已到山腰。PHP 也提供了我们一种学习态度。1.3 系统开发环境一、操作系统Windows xp本系统使用的操作系统为 Windows xp 作为底层操作系统,界面友好,性能稳定。二、数据库MYSQL4MySQL 是一个真正的多用户、多线程 SQL 数据库服务器。SQL(结构化查询语言)是世界
8、上最流行的和标准化的数据库语言。MySQL 是以一个客户机/服务器结构的实现,它由一个服务器守护程序 mysqld 和很多不同的客户程序和库组成。SQL 是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用 SQL 语言为一个网站检索产品信息及存储顾客信息,同时 MySQL 也足够快和灵活以允许你存储记录文件和图像。MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL 服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL 就开发出来。自 1996 年以来,我们一直都在使用 MySQL,其环境有超过 40 个
9、数据库,包含 10,000 个表,其中 500 多个表超过 7 百万行,这大约有 100 个吉字节(GB)的关键应用数据。MySQL 建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管 MySQL 仍在开发中,但它已经提供一个丰富和极其有用的功能集。三、务器平台APACHEApache 伺服器则是目前最多 WWW 网站所采用伺服器。您可以至 http:/www.apache.org 下载最新版的程式及相关文件,若您觉得从国外下载要很久的话,也可以用它的 Mirror 站台下载。 PHP 则可以去它的官方网站 http:/ 下载所需要的程式。5虽然目前 WindowsNT 或者 Win
10、dows98 等 Win32 的作业平台也能安装 PHP 及 Apache 伺服器,不过这似乎没什么道理,因为 PHP 和 Apache 在 UNIX 下可以跑得更快更好。 当然,若想使用商业化的作业平台,SUN、IBM、HP、DEC、SGI、NEC 等公司都有提供相关的 UNIX 或者是 WindowsNT 的作业平台。加上高安全性调整过后的 Apache 伺服器:Stronghold 或是其它支援 SSL 的 Apache 版本。这种组合,相信能满足商业化的需求。而 PHP 就扮演着快速方便的 CGI 角色,让客户对站台的服务品质更加满意。四、 发语言PHPPHP 是一种简单的,面向对象的
11、,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。PHP 具有和 JAVA类似的 Class 关键字。因为不需要虚拟机,以致速度比 JAVA 快 5 倍。PHP正迅速变成一种标准的,多用途的,面向对象的脚本语言。PHP 不仅可用来开发 Web 应用程序,也可以开发普通应用程序。 PHP 是一种功能强大的脚本语言。PHP 将击败 PERL/Python 并取而代之。PHP 是下一代的 PERL/Python 脚本。PHP 可以胜任任何 PERL/Python 做的工作,并且做的更多,更好,更简洁! PHP 是 Hypertext Pre-Processor(超文
12、本预处理器)的缩写,它是一种服务器端的 HTML 脚本/编程语言。PHP 语法上与 C 相似,可运行在 Apache, Netscape/iPlanet, 和 Microsoft IIS Web 服务器上。PHP 作为一种工具,可以让你创建动态的 Web 页面。应用 PHP 的网页与常规的 HTML 页面并无二致,你可以用同样的方式来创建、编辑它们。PHP 允许你直接在 HTML 文件里写入简单的脚本,这一点与 Javas cript 非常相似。而不同的是,PHP 不依赖于浏览器,是服务器端的语言,而 Javas cript 却是一种客户端的嵌在HTML 中的语言。概念上,PHP 与 Nets
13、cape 的 LiveWire Pro 产品,Microsoft 的 ASP 以及 SunMicrosystem 的 JSP 相似。 PHP 不仅可以用来创建 Web 应用程序,也可以用来开发普通的单机应用程序。 6PHP 的强劲之处在于: PHP 是一项最优秀的技术。其它技术,如 PERL,Python, Tcl, VB s cript, ASP 相对来说,都是陈旧低劣的。即使是 Java/JSP,也在 PHP之下。 开放源码 广泛的数据库连接 大量的扩展库 作为一种多用途的脚本语言,比 PERL,VB s cript, ASP, JSP 都要优秀7第二章 系统的需求分析2.1 系统需求分析
14、需求分析的基本任务是准确的回答“ 系统必须做什么?”这个问题。在需求分析这个阶段,需要仔细的研究系统所实现的功能,并进一步将他们具体化。1任务概述 目标将学生考勤、平时成绩的评定、以及成绩查询的大量业务,用计算机系统操作完成,对它进行全面现代化管理,以便提高信息管理效率。 运行环境软件:Microsoft Windows 2000 Server 及 Windows 2000 SPI或更高版本IE5.5 以上硬件:64 MB RAM 鼠标或其他定点设备 系统要完成的任务 实现学生安全登录 实现网上签到 通过技术手段,避免学生冒名签到。 统计学生平时成绩。 实现网上成绩的查询。2.功能需求系统必须
15、完成的功能包括: 注册与登录功能该功能主要实现学生与老师的安全登录。 签到功能该功能主要实现学生上课网上签到,以减少老师点名签到的时间,提高上课效率。 统计功能系统中的统计功能可以根据学生签到次数,统计学生的平时成绩。8 查询功能该功能从不同的角度进行查询,多层次地满足老师及学生对总成绩及个人成绩的查询要求。2.2 总体设计1本课题研究的内容本论文从网站设计的基本原理出发,使用 php+mysql 技术,PHP 是一个类似微软 ASP 的服务器端的嵌入式超文本处理语言,是建立动态网站的强大工具。MySQL 是一个真正的多用户、多线程 SQL 数据库服务器。MySQL 是以一个客户机/服务器结构
16、的实现,它由一个服务器守护程序 mysql 和很多不同的客户程序和库组成。由于其源码的开放性及稳定性,且与网站流行编徎语言 PHP 的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用。而 MySQL 是一个轻型 SQL 数据库服务器,可运行在多种平台上,包括 Windows NT 和 Linux,它还有一个 GPL 版本, MySQL 被认为是建立数据库驱动的动态网站的最佳产品。PHP、MySQL 和 Apache 是 Linux 平台网站的最佳拍档。通过对公共课网上系统的分析、设计与具体实施,从而具体介绍了基于 Internet/Intranet 的网站应用系统的分布式架构模
17、式及实现机理。最后采用了PHP+MYSQL,设计并实现了公共课网上系统系统设计模型2此系统共分为六个较大的模块:(一). 注册模块 (二). 身份验证模块 (三).学生查询模块 (四) 、学生签到模块 (五) 、教师控制台模块 (六) 、学生出勤统计模块 在这七个模块当中共完成 19 项功能,分别如下:(一)注册模块i. 新用户注册(教师或学生)9ii. 用户登陆(教师或学生)图 2-1 流程示意(二)身份验证模块i. 教师注册身份验证ii. 学生注册身份验证iii. 回答信息库中的个人信息图 2-2 流程示意登录界面Index.php教师注册t_signup.php 学生注册s_signup.php学生身份验证s_infor.php教师身份验证t_infor.php超级用户管理模块s_answer.php验证失败s_fail.php通过验证s_success.php10(三)学生查询模块iv. 用户输入学号v. 用户出勤信息查看图 2-3 流程示意(三)学生签到模块i. 个人信息提取ii. 签到结果查看图 2-4 流程示意学生查询模块 s_infor.php查找 s_infor.php查询结果 sss_infor.php数据库学生信息显示 ss_infor.php填加信息 ss_infor.php插入信息 s_infor.asp 数据库