基于phpmysql的在线考试系统设计的开发与实现内容摘要:
(1) 支持最新的 HTTP/ 通信协议 (2) 拥有简单而强有力的基于文件的配置过程 (3) 支持通用网关接口 (4) 支持基于 IP 和基于域名的虚拟主机 (5) 支持多种方式的 HTTP 认证 (6) 集成 Perl 处理模块 (7) 集成代理服务器模块 (8) 支持实时监视服务器状态和定制服务器日志 (9) 支持服务器端包含指令 (SSI) (10) 支持安全 Socket 层 (SSL) (11) 提供用户会话过程的跟踪 (12) 支持 FastCGI (13) 通过 第三方 模块可以支持 Java Servlets PHP 语言简介 PHP 是英文 超级文本 预处理语言 Hypertext Preprocessor 的缩写,它是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入 HTML 文档的 脚本语言 ,PHP 独特的语法混合了 C、 Java、 Perl 以及 PHP 自创新的语法。 它可以比 CGI或者 Perl 更快速的执行 动态网页。 用 PHP做出的 动态页面 与其他的 编程语言 相比 , PHP是将 程序 嵌 入到 HTML文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许多; PHP 还可以执行编译后 代码 ,编译可以达到加密和优化代码运行,使代码运行更快。 PHP具有非常强大的功能,所有的 CGI 的功能 PHP 都能实现,而且支持几乎所有流行的 数据库 以及操作系统。 以下 罗列了 PHP 所具有的一些特点: (1) 开放的 源代码。 所有的 PHP 源代码事实上都可以得到。 (2) PHP 是免费的。 和其它技术相比, PHP 本身免费。 JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS (3) PHP 的快捷性。 程序开发快,运行快,技术本身容易学习,上手快。 嵌入 HTML:因为 PHP 可以嵌入 HTML 语言,它相对于其他语言, 编辑 简单,实用性强,更适合初学者。 (4) 跨平台性强。 由于 PHP 是运行在服务器端的 脚本 , 可以运行在 UNIX、LINUX、 WINDOWS 下。 (5) 效率高。 PHP 消耗相当少的 系统资源。 (6) 图像处理。 用 PHP 动态创建图像 (7) 面向对象。 在 php5 中,面向对象方面都有了很大的改进,现在 php 完全可以用来开发大型商业程序。 (8) 专业专注。 PHP 支持脚本语言为主,同为 类 C 语言。 PHP 连接 MySQL 数据库 PHP 连接数据库的两种方法 (1) 通过 mysql 库和 mysqli 库函数连接。 这种方法是 PHP 连接 MySQL 最常用的方法,无论从易用性和效率上都比用 ODBC 接口连接好。 PHP 存取 mysql 数据库的四个步骤是: 建立连接: mysql_connect()。 操纵数据库: mysql_select_db()。 返回布尔型数据值 操纵数据库中的数据: mysql_query()。 关闭连接: mysql_close()。 (2) 通过 ODBC 接口连接。 开放式数据库互联 (open database connectivity,ODBC)是 Microsoft 引进的一种早期数据库接口技术。 Microsoft 引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。 PHP 通过 ODBC 不仅可以连接 MySQL 数据库,而且还可以连接 Oracle、Sybase、 Informix 和 SQL Server 等。 PHP 对 MySQL 数据库的两种连接方式 无论是使用 mysql/mysqli 库函数还是使用 ODBC 接口连接, PHP 对 MySQL 数据库的连接方式都有两种。 分别是永久连接和非永久连 接方式。 (1) 永久连接方式:它的最大的优点是效率比非永久连接方式高,当客户端对 MySQL 服务器的连接请求非常频繁时,永久连接将更加高效。 它使得每个子过程在其生命周期中只做一次连接操作,而非每次在处理一个页面时都要向MySQL 服务器提出连接请求。 即每个子过程将对服务器建立各自独立的永久连接。 JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS (2) 非永久连接方式:即短连接方式。 当客户端向 Web 服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。 对于大部分网站通常都使用这种连接方式,它虽然 没有永久连接方式的效率高,但是可有效避免永久连接所带来的问题和提高服务器承载能力。 Ajax 简介 AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。 通过 AJAX, JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。 通过这个对象, JavaScript 可在不重载页面的情况与 Web 服务器交换数据。 AJAX 在浏览器与 Web 服务器之间使用异步数据传输( HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是 整个页面。 Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。 AJAX 是一种独立于 Web 服务器软件的浏览器技术。 可使因特网应用程序更小、更快、 更友好。 主要包含的技术: (1) web 标准( standardsbased presentation) XHTML+CSS 的表示; (2) 使用 DOM( Document Object Model)进行动态显示及交互; (3) 使用 XML 和 XSLT 进行数据交换及相关操作; (4) 使用 XMLHttpRequest 进行异步数据查询、检索 ; (5) 使用 JavaScript 将所有的东西绑定在一起。 JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS 4 系统概要设计 系统的总体设计 根据系统的功能要求,网络考试系统中涉及两种不同的用户:考试用户、管理员,他们的职能各不相同。 考试用户进入网络考试系统,可以按照学习通知完成查询考试通知,查询个人考试成绩,修改密码,在线考试。 管理员能够发布学习通知,发布考试通知,设置考试时长,考试时段,考试题型比例,进行试题库维护,包括删除,添加,及时更新,按不同条件查询考生的成绩并进行分析统计。 所有数据都存储在服务器的数据 库中,具体应达到以下目标: (1) 采用开放、动态的系统框架,加强用户与网站的交互性。 (2) 具有空间性。 被授权的用户可以在异地登陆考试系统,无须到指定地点 行进行考试。 (3) 操作简单方便,界面简洁美观。 (4) 系统提供考试倒计时功能,使考生了解考试剩余时间。 (5) 随机抽取试题。 (6) 实现自动提交试卷的功能。 当考试时间到达规定时间,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。 (7) 系统自动阅卷,保证成绩的真实准确。 (8) 考生可以查询自己的考试成绩。 数据库设计 数据库设计的任务是确定系统所需的数据库,它的价值在于它 能够向用户提供有意义的信息,还有向系统供应所需的一切数据。 在 MySQL 数据库系统中建立一个名为 db_online 的数据库, 在该数据库中可以创建与实体对应的数据表,存放考试系统中与考生,管理员,考题类别,考试成绩相关的数据。 下面给出数据库中所包含的数据表的结构图,如图 1 所示。 图 1 db_online 数据库所包含数据表的结构图 JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS 系统结构设计 系统功能结构 网络考试系统的考生用户和管理员分别为前台用户和后台用户,他们的功能职责不同,其功能结构图如图 2 所 示。 网 络 考 试 系 统管 理 员 功 能 页 面 考 试 用 户 功 能 页 面发布通知课程管理考试管理题库管理成绩查询参加考试考试通知查询成绩修改密码 图 2 网络考试系统功能结构图 考生功能: (1) 参加考试:选择考试课程之后,考试开始并计时,手动和自动提交试卷,自动阅卷。 (2) 查询成绩:考生可以查询本人的成绩信息。 (3) 修改密码:考生修改自己的密码。 (4) 学习通知:考生可以查看管理员发布的考试通知。 管理员功能: (1) 发布通知:管理员进入发布通知页面,发布考试通知。 (2) 考试管理:添加、修改考试科目;修改试卷的题型比例;修改考题类型,考题类别,确定考试日期和考试时长。 (3) 题库 管理:及时对题库进行更新,删除旧的题目,插入新的题目等。 (4) 成绩查询:管理员可以查看权限范围内所有用户的成绩信息,并可以对所有信息进行分析统计。 JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS 系统流程图 考生在网络在线考试系统中通过注册为网站用户,登录网站进行相关操作。 考生登录后,可以进行在线考试、查询成绩和修改个人密码的操作。 在考试前,考生需要阅读考试规则、选择考试套题后开始考试;考试时间结束时,考生提交试卷;提交试卷的同时,系统将自动返回本次考试的考试结果。 网站的管理员通过登录模块可以登录到网站的后台系统,对考生信息、 考试信息、管理员信息进行管理。 网络在线考试系统的系统流程,如图 3 所示。 图 3 网络在线考试系统流程图 JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS 5 系统详细设计 数据库设计 数据库的设计过程一般是从现实世界出发,进行需求分析、概念分析、逻辑分析和物理设计的。 其中需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。 需求分析做的不好,甚至会导致整个数据库设计返工重做。 概念结构设计师整个数据库设计的关键,它通过对用户需求进行分析、综合、归纳与抽象,形成一个独立、具体的数据可管理系统的概念模型。 逻辑结构设计师将概 念转换为某个数据库管理系统所支持的数据库模型,并对其进行优化。 物理结构设计是为逻辑结构设计选择一个最适合应用环境的物理结构,并对数据可进行布置。 数据库分析 MySQL 是一个小巧的数据库系统软件,特别适用于网站建设。 MySQL 的设计目标是提供一个高速、可靠、可扩展、易于使用的数据库管理系统。 Apache+PHP+MySQL不仅仅是开源项目,可免费获取,而且它支持 Linux、 UNIX、OS/2 和 Windows 多个操作系统,可移植性好,这种组合是设计动态网站的最佳解决方案。 综上所述,本系统采用 MySQL 数据库。 概念设计 (1) 考生信息实体 考生信息实体包括编号、考生姓名、联系方式、准考证号、考试成绩、考题类别、考试时间、联系地址、考试状态和考生密码等属性。 考生信息实体的 ER 图,如图 4 所示。 图 4 考生信息实体 ER 图 考试成绩 准考证号 考题类别 考试时间 考生 考生 密码 考试状态 考生姓名 联系方式 编号 JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS (2) 管理员实体 管理员实体包括编号、管理员名称和加密密码属性。基于phpmysql的在线考试系统设计的开发与实现
相关推荐
连接 MySQL 最常用的方法,无论从易用性和效率上都比用 ODBC 接口连接好。 PHP 存取 mysql 数据库的四个步骤是: 建立连接: mysql_connect()。 操纵数据库: mysql_select_db()。 返回布尔型数据值 操纵数据库中的数据: mysql_query()。 关闭连接: mysql_close()。 (2) 通过 ODBC 接口连接。 开放式数据库互联
括网站的旗帜广告条、主功能导航两部分。 最新商品模块:主要用于展示最新商品信息。 推荐商品模块:主要用于展示商城重点推荐的商品。 热门商品模块:主要用于展示销量最高的商品。 用户登录模块: 主要用于用户登录,登录后可以购买商品、查询提交的订单、查看个人留言和评论信息。 站内公告模块:主要用于发布网站提供部分商品信息以及购买商品的优惠制度等信息。 销量排行模块
者 Ambrose Twebaze提供。 根据 Ambrose所说, Sakila 来自一种叫 SiSwati 的斯威士兰方言,也是在 Ambrose 的家乡乌干达附近的坦桑尼亚的 Arusha 的一个小镇的名字。 自身特性 : C 和 C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 AIX、 FreeBSD、 HPUX、 Linux、 Mac OS、 Novell Netware
5 图 2 蓝牙系统结构图 MT1020A 基带控制器和 PH2401 无线收发器介绍 工业现场 接入点 通过传感器将信号传入 MT1020A 中再经 PH2401 无线收发器将信号发射给上位机处理,本章主要介绍基带控制器与无线收发器的结构与原理。 MT1020A 基带控制器的结构与原理 MT1020A 是 MITEL 公司推出的低成本、微功耗蓝牙基带控制器芯片。 它和其它的无线收发器一起可以
r( (index2(1)1)/5 )+1。 class2=floor((index2(2)1)/5)+1。 class3=floor((index2(3)1)/5)+1。 if class1~=class2 amp。 amp。 class2~=class3 class=class1。 elseif class1==class2 class=class1。 elseif
制作人:宋佳丽 Router0 en conf t host R0 int fa 0/0 ip address no shutdown int s 2/0 ip address no shutdown clock rate 64000 Router1 en conf t host R1 int s 2/0 ip address no shut int fa 0/0 ip address no