基于phpmysql的无纸化在线考试系统内容摘要:

连接 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 服务器提出连接请求。 即每个子过程将对服务器建立各自独立的永久连接。 7 (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 将所有的东西绑定在一起。 8 4 系统概要设计 系统的总体设计 根据系统的功能要求,网络考试系统中涉及两种不同的用户:考试用户、管理员,他们的职能各不相同。 考试用户进入网络考试系统,可以按照学习通知完成查询考试通知,查询个人考试成绩,修改密码,在线考试。 管理员能够发布学习通知,发布考试通知,设置考试时长,考试时段,考试题型比例,进行试题库维护,包括删除,添加,及时更新,按不同条件查询考生的成绩并进行分析统计。 所有数据都存储在服务器的数据库中,具体应达到以下目标: (1) 采 用开放、动态的系统框架,加强用户与网站的交互性。 (2) 具有空间性。 被授权的用户可以在异地登陆考试系统,无须到指定地点 行进行考试。 (3) 操作简单方便,界面简洁美观。 (4) 系统提供考试倒计时功能,使考生了解考试剩余时间。 (5) 随机抽取试题。 (6) 实现自动提交试卷的功能。 当考试时间到达规定时间,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。 (7) 系统自动阅卷,保证成绩的真实准确。 (8) 考生可以查询自己的考试成绩。 数据库设计 数据库设计的任务是确定系统所需的数据库,它的价值在于它能够向用户提供有意义的信息,还 有向系统供应所需的一切数据。 在 MySQL 数据库系统中建立一个名为 db_online 的数据库, 在该数据库中可以创建与实体对应的数据表,存放考试系统中与考生,管理员,考题类别,考试成绩相关的数据。 下面给出数据库中所包含的数据表的结构图,如图 1 所示。 图 1 db_online 数据库所包含数据表的结构图 9 系统结构设计 系统功能结构 网络考试系统的考生用户和管理员分别为前台用户和后台用户,他们的功能职责不同,其功能结构图如图 2 所 示。 网 络 考 试 系 统管 理 员 功 能 页 面 考 试 用 户 功 能 页 面发布通知课程管理考试管理题库管理成绩查询参加考试考试通知查询成绩修改密码 图 2 网络考试系统功能结构图 考生功能: (1) 参加考试:选择考试课程之后,考试开始并计时,手动和自动提交试卷,自动阅卷。 (2) 查询成绩:考生可以查询本人的成绩信息。 (3) 修改密码:考生修改自己的密码。 (4) 学习通知:考生可以查看管理员发布的考试通知。 管理员功能: (1) 发布通知:管理员进入发布通知页面,发布考试通知。 (2) 考试管理:添加、修改考试科目;修改试卷的题型比例;修改考题类型,考题类别,确定考试日期和考试时长。 (3) 题库管理:及时对题库进行更新,删除 旧的题目,插入新的题目等。 (4) 成绩查询:管理员可以查看权限范围内所有用户的成绩信息,并可以对所有信息进行分析统计。 10 系统流程图 考生在网络在线考试系统中通过注册为网站用户,登录网站进行相关操作。 考生登录后,可以进行在线考试、查询成绩和修改个人密码的操作。 在考试前,考生需要阅读考试规则、选择考试套题后开始考试;考试时间结束时,考生提交试卷;提交试卷的同时,系统将自动返回本次考试的考试结果。 网站的管理员通过登录模块可以登录到网站的后台系统,对考生信息、考试信息、管理员信息进行管理。 网络在线考试系统的系统流程,如图 3 所示。 图 3 网络在线考试系统流程图 11 5 系统详细设计 数据库设计 数据库的设计过程一般是从现实世界出发,进行需求分析、概念分析、逻辑分析和物理设计的。 其中需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。 需求分析做的不好,甚至会导致整个数据库设计返工重做。 概念结构设计师整个数据库设计的关键,它通过对用户需求进行分析、综合、归纳与抽象,形成一个独立、具体的数据可管理系统的概念模型。 逻辑结构设计师将概念转换为某个数据库管理系统所支 持的数据库模型,并对其进行优化。 物理结构设计是为逻辑结构设计选择一个最适合应用环境的物理结构,并对数据可进行布置。 数据库分析 MySQL 是一个小巧的数据库系统软件,特别适用于网站建设。 MySQL 的设计目标是提供一个高速、可靠、可扩展、易于使用的数据库管理系统。 Apache+PHP+MySQL不仅仅是开源项目,可免费获取,而且它支持 Linux、 UNIX、OS/2 和 Windows 多个操作系统,可移植性好,这种组合是设计动态网站的最佳解决方案。 综上所述,本系统采用 MySQL 数据库。 概念设计 (1) 考生信息实体 考生信息实体包括编号、考生姓名、联系方式、准考证号、考试成绩、考题类别、考试时间、联系地址、考试状态和考生密码等属性。 考生信息实体的 ER 图,如图 4 所示。 图 4 考生信息实体 ER 图 考试成绩 准考证号 考题类别 考试时间 考生 考生 密码 考试状态 考生姓名 联系方式 编号 12 (2) 管理员实体 管理员实体包括编号、管理员名称和加密密码属性。 管理员实体的 ER 图如图 5 所示。 图 5 管理员信息实体 ER 图 (3) 考题类别实体 考 题类别实体包括编号和考题类别名称。 考题类别实体的 ER 图,如图 6 所示。 图 6 考题类别实体 ER 图 (4) 考题信息实体 考题信息实体包括编号、考题类别、考试成绩、考题内容、考题答案、考题正确答案及考题所属套题等属性。 考试题目实体的 ER 图如图 7 所示。 图 7 考题信息实体 ER 图 管理员 密码 编号 管理员姓名 考题类别 编号 类别名称 考题内容 考题信息 考题类别别 考试成绩 考题答案 正确答案 所属套题 编号 13 数据库物理结构 (1) tb_user(考生信息表) 考生信息表用来保存考生信息 , 主键为 online_id。 该数据表结构如 图 8 所示。 图 8 考生信息结构图 (2) tb_admin(管理员信息表) 管理员信息表用来保存管理员的用户名和密码。 主键为 id。 该数据表结构如 图 9 所示。 图 9 管理员信息结构图 (3) tb_ktlb(考题类别信息表) 考题类别信息表用来保存考题类别。 该数据表结构如 图 10 所示。 图 10 考题类别信息结构图 14 (4) tb_kt(考题信息表) 考题信息表用来保存考试题目信息和考题答案等相关信息。 该数据表结构如 图 11 所示。 图 11 考题 信息结构图 在数据库系统运行过程中,必须不断地对其进行评价、调整与修改,内容包括:数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造等。 系统详细设计与实现 根据需求分析,我们把在线考试系统分为六个模块,即数据库交互模块、功能列表模块、题库模块、试卷生成模块、考试生成模块及在线考试模块。 下面来看系统的详细设计与实现。 系统配置 系统配置主要包括代码开发工具配置和服务器配置。 本系统采用的开发工具是 Dreamweaver,数据库则采用得是 MySQL, Web 服务器采用 Apache 服务器。 B/S 模式系统的目录结构有一定的规律性,因此必须遵循规范,并按照需求分析建立各个模块的目录结构。 整个目录结构如下图: 图 12 目录结构图 首先将 PHP 连接到 MySQl 数据库服务器程序( ),该程序建立与MySQL 服务器的连接,打开 db_online 数据库,代码如下: 15 ?php $hostname_localhost = localhost。 $database_localhost = db_online。 $username_localhost = root。 $password_localhost = root。 $localhost = mysql_pconnect($hostname_localhost, $username_localhost, $password_localhost) or trigger_error(mysql_error(),E_USER_ERROR)。 mysql_select_db(db_online) or die (不能选择数据库 : .mysql_error())。 mysql_query(set names gb2312)。 ? 在每一个 PHP 程序的开头通过以下语句引用 程序: require(“.../”)。 前台详细设计与实现 前台首页设计 (1) 考生通过 “ 考生登录 ” 模块的验证后,可以登录到网络在线考试系统的前台首页。 前台首页主要用于实现前台功能导航,该页面主要包括考生注册、考生登录、修改密码、成绩查询、进入考场和退出信息 6 个导航链接。 下面为前台首页页面,如图 13 所示。 图 13 前台首页页面 16 (2) 网络在线考试系统前台首页主要实现了考生登录功能,考生通过准考证号和密码进行登录。 考生登录页面中所涉及到的重要表单元素如表 1 所示。 表 1 考题信息表 名称 元素类型 重要属性 含义 form1 form。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。