收藏 分销(赏)

Design-and-Implementation-of-Software-Engineering-Course-Website.doc

上传人:精*** 文档编号:2501529 上传时间:2024-05-30 格式:DOC 页数:35 大小:1.97MB 下载积分:12 金币
下载 相关 举报
Design-and-Implementation-of-Software-Engineering-Course-Website.doc_第1页
第1页 / 共35页
Design-and-Implementation-of-Software-Engineering-Course-Website.doc_第2页
第2页 / 共35页


点击查看更多>>
资源描述
分类号: 学校代码: 学号: ******本科生毕业论文 《软件工程》课程网站的设计与实现 Design and Implementation of Software Engineering Course Website 所在院(系): 学生姓名: 指导教师: 研究起止日期:二○一三年十月至二○一四年五月 II 南京晓庄学院10届本科毕业论文 摘 要 随着二十一世纪的到来,教育将要面临着一次最大的改革,信息技术在当今的社会中占有重要的地位,因次信息技术在教育事业中是必不可少的,课程网站的使用是信息技术在教育事业中的一种体现。 本课程网站应用PHP语言在XAMPP服务器下实现网站的动态的信息传递,实现该课题的相关功能等。主要利用PHP语言在网站页面和MYSQL数据库之间进行信息的交互,还有就是利用PHP的文件上传,来实现文件的上传和下载,运用SESSION知识对网页进行控制等。 关键字:软件工程课程网站;PHP;XAMPP服务器;MYSQL;SESSION Abstract With the coming 21st century,education will face a huge revolution.IT(information technology) industry is playing a important roll in today's society.so IT(information technology) industry is absolutely one of the necessary part in education career.The use of the course website is an embodiment of information technology in education career. The website of the course used PHP to realize dynamic information transmission of the website and something relative with the course etc. based on XAMPP server,it mainly used PHP to conduct interaction of information between web page and MYSQL date base,also it will use the files of PHP to upload knowledge to implement the upload and download of files.It also used the knowledge of SESSION to control websites etc.   Key words:software engineering course website;PHP;XAMPP server;MYSQL;The Session 目录 摘 要 I Abstract II 目录 III 第一章 绪 论 1 1.1项目开发背景 1 1.2 项目的目的 1 1.3 项目的意义 1 2.1 HTML语言 2 2.2 PHP语言 2 2.2.1 PHP语言简介 2 2.2.2 PHP的主要特点 2 2.3 XAMPP环境搭建 3 2.3.1 XAMPP的简介 3 2.3.2 XAMPP的使用 3 2.4 网站开发工具Dreamweaver 3 第三章 系统分析 4 3.1 可行性分析 4 3.2 需求分析 4 网站的需求主要以下几点: 4 3.3 网站用户分析 4 4.1 网站功能模块划分 5 4.2 网站流程分析 6 4.3 网站数据库设计 8 4.3.1数据库概述 8 4.3.2 数据库逻辑结构设计 8 4.3.3 数据库实体及属性设计 9 4.3.4 数据库表结构设计 11 第五章 课程网站的详细设计与实现 14 5.1 学生及游客前台功能实现 14 5.1.1网站的首页 14 5.1.2 学生登录功能界面 14 5.1.3 网站信息查看功能的实现 15 5.1.4 学生成绩查看功能的实现 16 5.1.5 理论教学功能 17 5.1.6 课程资源功能 17 5.1.7 师生互动功能的实现 18 5.2老师前台操作及功能实现 20 5.2.1 学生作业的下载 20 5.2.2 学生成绩信息的发布 21 5.2.3 教学信息的发布 21 5.3 后台操作及功能实现 22 5.3.1 后台登录功能的实现 22 5.3.2 添加学生信息功能的实现 23 5.3.3 删除学生信息功能的实现 23 5.3.4 修改老师账号密码功能的实现 24 第六章 课程网站系统的测试 25 6.1.1软件测试简介  25 6.1.2功能测试 25 第七章 总结 27 参考文献 28 谢 辞 29 IV 第一章 绪 论 1.1项目开发背景 在这个快速发展的信息时代,计算机技术以及通信网络得到了广泛的应用,信息的发布和交流开始越来越方便了,利用计算机、网络管理和信息采集是一种很好的方式。对于大中专等高校来说,利用计算机互联网进行网上办公、网上日常事务管理、网上财务管理、网上教学管理等,是适应现代化教学的一个基础和要求、是推动高校管理的科学化、规范化、科学化的必要条件。 1.2 项目的目的 因为随着时代的飞速发展,人们所要掌握的知识将会越来越多,这样会给老师和学生带来很大的工作压力和学习压力。然而由于互联网的快速发展,提供给学生和老师许多帮助,许多的高校都纷纷利用互联网的这一宝贵的资源,他们建立了思想政治的专题网站,建立了便于学生学习的课程网站,还有查阅信息的信息网站。设计该课题是为了让同学们了解互联网教学的快捷与方便,同时让老师能够方便的对学生学习情况的了解,能够适时的提供教学任务与材料,节约了老师大量的时间,提高了学生学习的效率,更重要的是让学生和老师对互联网有了很深的认识。 1.3 项目的意义 软件工程课程网站体现了互联网与教育之间的紧密联系,通过互联网让我们更好,更方便的学习知识;更重要的是让我们同学和老师提供先进的教育平台,促进我们对于互联网知识的了解。课程网站为学生和老师提供了一个高效率和高质量的学习平台,使学生更好的了解自己学到的知识,同时该平台可以及时的反馈学生的学习和掌握的情况,对于老师的教学也很大的帮助。通过该网站可以促进学校尽快地完成教学中坚力量的新老交替,更可以推进教学的改革,促进更好的教学资源共享,全面的提高教学质量和人才培养的质量,能促进教育事业的发展。 第二章 网站开发技术简介 2.1 HTML语言 HTML(Hyper Text Markup Language,超文本标记语言),HTML语言是通过利用各种标记来标识文档结构以及标识超链(Hyperlink)的相关信息。即使HTML语言对文档的结构格式进行描述,可是它在精确度方面做的还是有很大的缺陷的,它只能给Web服务器一个大概的情况,就是模糊的定义一些信息,然而服务器最后显示内容的样式还是决定于Web浏览器的自身。 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记来对页面的不同部分的信息进行展示。然而页面的自身其实就是一个文本文件,当我们在这个文本中加入标记符号时,Web的浏览器就会识别这些符号,并按照符号标记的要求来显示这些内容。 目前HTML语言的版本是2.0,该版本是基于SGML(Standard Generalized Markup Language,)它是从SGML中演变出来的。因为很多的好的Web服务器能够很好的解释HTML3.0的标记符号,所以我所介绍的一些HTML3.0新标记均已被多数浏览器所接受。 2.2 PHP语言 2.2.1 PHP语言简介 PHP是一个英文的缩写,它的意思是一种超级文本的预处理语言(PHP的英文全称是:Hypertext Preprocessor)。PHP它是一种 HTML内部的嵌式语言,PHP与ASP是非常相似的,它们的作用都是在Web服务器端嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。 2.2.2 PHP的主要特点 (1)源代码是开放的:PHP的所有源代码都是能够得到的。 (2)PHP是免费的:PHP和别的技术相比较,PHP是免费的。 (3)PHP的快捷性:掌握快、使用快、编译运行快。 (4)嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言。编辑简单, 实用性强,更适合初学者。 (5)跨平台性强:因为PHP是Web服务器上运行的脚本语言,所以在UNIX、LINUX、WINDOWS 上都是可以运行的。 (6)效率高:PHP所占有的系统资源很少。 2.3 XAMPP环境搭建 2.3.1 XAMPP的简介 XAMPP是一款非常优秀Apache+MYSQL+PHP的服务器系统开发套件,也是笔者用到现在为止感觉最好用的一款APACHE+MYSQL+PHP套件了,目前最新XAMPP的版本是1.7.2。 2.3.2 XAMPP的使用 XAMPP需要启动前两个服务,如果Apache无法启动则可能是80端口被占用,到你的安装xampp的目录找到xampp/apache/conf/httpd.conf。打开httpd.conf通过查找与替换80。启动界面如图2-1所示。 图2-1 XAMPP启动界面 2.4 网站开发工具Dreamweaver Dreamweaver是一款有着多年历史和很多好评的可视化网页编辑工具(简称DW),其最主要的特点就是一边编辑一边看见效果,它支持标准的W3C页面,并且它还支持对网站进行操作,包含HTML的格式控制和效果检查、HTML格式化选项、图像效果编辑、全FTP功能、处理Flash等富媒体格式和动态HTML,而且还支持ASP、JSP、PHP、ASP.NET、XML等程序语言的编写与调试。Dreamweaver是可视化的网页制作工具,很容易上手,可以让你轻松地制作出自己的网页。 Dreamweaver的最大的特点就是可视化的对页面进行布局,同时又可以进行代码的编辑和一些应用程序的开发。这些特点就可以让开发人员更快的对页面进行布局和美化,节约了大量的时间。可视化布局功能和用手动的CSS来比较的话,不仅提高了效率,而且更精确。 第三章 系统分析 3.1 可行性分析 课程网站可行性分析是对项目课题的通盘的考虑,是保障网站可以进行下一步开发的前提,是开发者开发网站的基础,可行性分析可以使开发者更早的知道开发过程中遇到的一些困难和缺陷。 (1)环境可行性 已准备一台拥有能够实现网站建立配置的电脑,并已拥有能支持网站编辑语言的环境软件。因此从环境上看是可行的。 (2)经济可行性 经济可行性分析中最重要的内容就是成本和效益。成本是在开发中所需要的花费,该课程网站所使用的软件都是免费的软件,所以成本很低;效益是该课程网站让学生能更方便、高效地学习,让老师更方便的完成教学任务,节约了大量的时间。 (3)技术可行性 目前信息技术和计算机硬件的发展已经完全满足本网站的建设、开发和维护,因此从技术上看是可行的。 3.2 需求分析 网站的需求主要以下几点:  (1)该网站可以在WINDOWS操作系统平台上,并具有友好的用户界面; (2)查阅课程的教学信息、课程教案和课程作业和实验要求; (3)上传课程作业和实验报告,同时提供网上查阅作业成绩的功能;  (4)发布课程作业和实验要求,同时提供网上评阅作业的功能; (5)提供实时和非实时的课程答疑服务; (6)建立完善的不同用户身份的权限管理。 3.3 网站用户分析 “软件工程课程网站”面对的用户一般情况下是三个,一个就是学生,学生是通过课程网站学习用的,学生通过该网站来进行作业提交,课程材料的下载,还有和老师之间的信息的交流,学生可以查询成绩信息;还有一个用户就是老师,老师可以通过网站来发布课程信息,并能上传学习资料和下载学生的作业进行批改,老师还可以发布学生的成绩,对自己的密码进行修改等;最后一个就是管理员,对账号和网站进行管理。 第四章 系统总体设计 4.1 网站功能模块划分 根据网站功能的要求,网站的用户是学生、老师、管理员,学生的主要是查阅课程的教学信息、课程教案和课程作业和实验要求,上传课程作业和实验报告,同时能在网上查阅作业成绩的功能;老师通过网站来发布课程信息,并能上传学习资料和下载学生的作业进行批改,同时可以发布学生的成绩,管理员是对账号管理和网站维护。 根据以上的用户操作需求,将网站划分为如下三大功能,并对其模块的划分和功能进行描述。 F 学生功能 登录:学生可以用学生身份进行登录; 上传:学生根据要求上传作业; 下载:学生可以下载网站上的资料; 查阅:学生可以查阅课程信息和查询成绩; 留言:学生可以留言进行提问问题。 F 教师功能 登录:老师可以用老师身份进行登录; 上传:老师可以上传学习资料; 下载:老师下载学生作业进行批改; 发布:老师可以发布课程信息和学生成绩; F 管理员功能 学生账号管理:可以对学生账号进行查看,添加和删除; 老师账号管理:可以对老师的账号的密码进行修改; 网站维护:对网站相关页面的编辑。 整个网站的功能模块结构如图4-1所示。 课程网站 学生 老师 管理员 学生登录 学生账号管理 老师账号管理 网站维护 上传作业 下载材料 查看信息和成绩 留言提问 上传材料 下载作业 老师登录 发布信息 和 成绩 图4-1 网站功能模块结构图 以上是该网站的三个用户的所有功能模块。 4.2 网站流程分析 该网站服务的对象是学生和老师,根据上述的功能描述可以知道老师主要是提供信息和学习资料等,学生是查阅和下载信息和资料等,该网站的使用对象包括学生、教师和管理员,因此包括三个模块。 管理员的主要任务就是管理学生和老师的账号,和对本网站的结构的维护。管理员的主要操作如图4-2所示。 管理员登录 添加学生账号 查看学生账号信息 删除学生账号 修改老师账号密码 维护网站结构 图4-2 管理的主要操作 老师的主要任务就是发布课程信息和成绩,还有上传一些学习的资料等。老师的主要操作如图4-3所示。 上传学习资料 解答学生问题 添加学生成绩 下载学生作业 发布信息 老师登录 图4-3 老师的主要操作 学生的主要任务就是查阅课程信息和成绩,还有下载一些学习的资料和上传老师布置的作业等。学生的主要操作如图4-4所示。 下载学习资料 查询成绩 发布问题 上传作业 查阅信息 学生登录 图4-4 学生的主要操作 4.3 网站数据库设计 4.3.1数据库概述 数据库(Database)是根据数据的结构来组织、存储和管理数据的存储工具,它有将近五十年的历史,随着信息技术的快速发展,尤其在以信息主导的当代,数据的使用越来越频繁,数据的两也变的越来越大了。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。 本网站使用的是MySQL数据库系统,MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 4.3.2 数据库逻辑结构设计 根据上述的模块可以知道本课程网站有三大模块,管理员、老师和学生,所以数据库的设计也要围绕着三大模块结构来划分,每个模块中有多个数据的逻辑结构,本网站数据结构是用MySQL来建立的。 根据上述首先要建立三大数据实体: (1) 管理员数据实体:该数据实体包含了管理员的用户名、密码,这个是网站开发时 已经确定好的信息; (2) 老师数据实体:该数据实体包含了老师的用户名、密码,老师的账号已经确定好了,管理员可以对老师的账号的密码进行修改; (3) 学生数据实体:该数据实体包含了学生的用户名、密码、姓名、班级,管理员可以对其进行添加、查看和删除; 除了以上的三个成员实体外,还有5个功能实体: (1) 教学大纲信息数据实体:该数据实体包含了信息的编号、信息名称、内容、发布时间,学 生只可以进行查看,老师可以进行添加和删除; (2) 课程描述信息数据实体:该数据实体包含了信息的编号、信息名称、内容、发布时间,学 生只可以进行查看,老师可以进行添加和删除; (3) 留言信息数据实体:该数据实体包含了留言信息发布者名称、信息内容和时间,学生和老 师都可以对其进行操作; (4) 动态信息数据实体:该数据实体包含了信息的编号、信息标题、信息内容、发布时间,游 客可以进行查看,老师可以进行添加和删除; (5) 成绩信息数据实体:该数据实体包含了信息的编号(学生账户用户名)、得分描述、得分 和时间,学生可以进行查看,老师进行发布。 4.3.3 数据库实体及属性设计 数据库的E-R图反映了实体、实体的属性和实体之间的联系。图4-5至图4-12是所有实体以及其属性的E-R图。 管理员实体E-R图如图4-5所示。 管理员 密码 用户名 图4-5 管理员的E-R图 老师的E-R图如图4-6所示。 老师 密码 用户名 图4-6 老师的E-R图 姓名 学生的E-R图如图4-7所示。 密码 学生 班级 用户名 学号 图4-7 学生的E-R图 教学大纲信息的E-R图如图4-8所示。 发布时间 教学大纲 信息内容 编号 信息标题 图4-8 教学大纲信息的E-R图 课程描述信息的E-R图如图4-9所示。 发布时间 课程描述 信息标题 编号 信息内容 图4-9 课程描述信的E-R图 留言信息实体E-R图如图4-10所示。 留言者姓名 信息内容 留言信息 留言时间 图4-10 留言信息的E-R图 发布时间 动态信息的E-R图如图4-11所示。 文章编号 页面信息 文章标题 文章信息 图4-11 动态信息的E-R图 成绩信息的E-R图如图4-12所示。 得分描述 学生用户名 发布时间 成绩信息 得分分数 图4-12 成绩信息的E-R图 4.3.4 数据库表结构设计 基于上面设计的E-R图的基础上,将数据库的概念结构转化为数据库系统所支持的实际数据模型。这个系统中需要建立八张数据表。它们分别如下。 学生登录信息的数据表(表名login)如表4-1所示: 表4-1 学生信息数据表 序号 字段 含义 类型 长度 1 userid 学生用户名 varchar 20 2 password 密码 varchar 20 3 names 学生姓名 varchar 20 4 class 学生班级 varchar 2000 5 xuehao 学生学号 int 8 老师登录信息的数据表(表名login2)如表4-2所示: 表4-2 老师信息数据表 序号 字段 含义 类型 长度 1 userid 老师用户名 varchar 20 2 password 密码 varchar 20 管理员登录信息的数据表(表名login3)如表4-3所示: 表4-3 管理员信息数据表 序号 字段 含义 类型 长度 1 userid 管理员用户名 varchar 20 2 password 密码 varchar 20 各个功能块的数据表如下: 教学大纲信息的数据表(表名dagang),如表4-4所示: 表4-4 教学大纲信息的数据表 序号 字段 含义 类型 长度 1 id 编号 int 20 2 ti 文章标题 varchar 300 3 text 文章内容 text 10000 4 time 发布时间 varchar 300 课程描述信息数据表(表名miaoshu),如表4-5所示: 表4-5 课程描述信息数据表 序号 字段 含义 类型 长度 1 id 编号 int 20 2 ti 文章标题 varchar 300 3 text 文章内容 text 10000 4 time 发布时间 varchar 300 留言信息数据表(表名message),如表4-6所示: 表4-6 留言信息数据表 序号 字段 含义 类型 长度 1 names 留言名字 varchar 20 2 cotent 留言内容 varchar 4000 3 time 留言时间 varchar 40 4 username 留言标题 varchar 200 动态信息数据表(表名fubu,qita),如表4-7所示: 表4-7 动态信息数据表 序号 字段 含义 类型 长度 1 userid 编号 varchar 11 2 names 标题 varchar 120 3 neirong 内容 varchar 10000 4 time 发布时间 varchar 300 成绩信息数据表(表名chengji),如表4-8所示: 表4-8 成绩信息数据表 序号 字段 含义 类型 长度 1 userid 学生用户名 varchar 100 2 hm 得分描述 varchar 400 3 fen 得分 varchar 3 4 time 发布时间 varchar 100 第五章 课程网站的详细设计与实现 5.1 学生及游客前台功能实现 界面主要有以下几个界面,分别是教学大纲、理论教学(课件和教案的下载)、课程描述、动态浏览、课程资源、师生互动(作业提交和疑难解答)、成绩查看等。 5.1.1网站的首页 网站首页主体部分大体分为三大部分:第一部分是快捷导航栏,该导航栏可以方便用户快速进入所需要的页面,第二部分就是课程简介,可以让用户了解课程的性质与特点,第三部分为一个动态信息的浏览,在这里可以阅读最近发布的课程信息,可以点击信息框右上角的“更多”来查阅更多的课程信息;左上角显示的是用户的登陆状态。课程网站的主页如图5-1所示。 图5-1 课程网站的主页 5.1.2 学生登录功能界面 登录功能的实现,首先要建立一个数据库,用来储存用户的相关信息,用相关的函数连接数据库并且检查数据库中是否与本用户名和密码相匹配的用户,如果有,则通过验证(也就是登陆成功),如果数据库没有相匹配的用户,则登录失败。如图5-2所示为学生的登录页面。 图5-2 网站学生前台登陆页面 5.1.3 网站信息查看功能的实现 查看发布信息关键的是web与数据库之间的连接,在任何用于web访问数据库的脚本中,都应该遵循以下这些基本步骤: (1)检查并过滤来自用户的数据; (2)建立一个到适当数据库的连接; (3)查询数据库; (4)获取查询的结果; (5)将结果显示给用户。 PHP为连接MySQL提供了函数库。这个函数库是mysql(i表示改进)。当在PHP中使用mysql函数库时,你可以使用面向对象的语法。本网站连接数据库的代码如下: $db= mysql_connect('localhost','root',''); mysql_select_db("biye",$db); 要执行数据库查询,可以使用mysqli_query()函数。本网站查询数据库的代码如下所示: $sql="select*from fabu"; $result=mysql_query($sql); 教学大纲页面用游客的身份就可以浏览,该页面功能的实现中有一个要注意的是,对从数据库读取的信息进行显示时,要注意文章的标题和发布时间的布局。课程网站的教学大纲信息浏览页面如图5-3所示。 图5-3 教学大纲信息页面 在动态信息浏览页面可以以游客的身份实现其功能,除了运用PHP实现页面与数据库之间的交互外,还有一个关键的地方就是运用了动态的URL,因为发布的动态信息量很多,不可能每篇文章都占用一个页面吧?这个是不现实的,使用动态页面,可能只有几M的文件大小,而使用静态页面少则十几M,多则几十M。因为数据是从数据库里面调用而来,所以如果要更改某些数值,直接更改数据库,那么所有的动态页面,就会自动更新了。课程网站的动态信息浏览页面如图5-4所示。 图5-4 动态信息浏览页面 5.1.4 学生成绩查看功能的实现 成绩查看页面需要学生登录才能实现其功能,因为不同的用户查看到的成绩信息肯定是不同的,比如(用户桑启苏查看的成绩就是桑启苏本人的),要想特定的显示出成绩信息,则要通过SESSION的全局变量就可以提取出特定成绩信息了。成绩信息的查看页面如图5-5所示。 图5-5 成绩查看页面 5.1.5 理论教学功能 理论教学的下面有几个栏目,主要的是课程课件和课程教案的下载,该页面不需要学生的登录权限就可以进入,你可以用游客的身份进入,并浏览和下载一些课程资源。这里主要用到的知识就是PHP文件上传,但是要注意的一点就是文件类型,上传课件的文件类型是PPT的类型。如图5-6所示为理论教学的页面。 图5-6 理论教学页面 5.1.6 课程资源功能 课程资源页面里主要就是课程资料的下载,一些经常需要用到的一些知识。这里的课程资料下载的主要是WORD文档和压缩包的格式,在下载的代码中,我用了一个强制类型的下载。还有软件工程的术语,这些是我们经常看到的,却不是很理解的词语,如图5-7所示为课程资源的页面。 图5-7 课程资源页面 5.1.7 师生互动功能的实现 该页面需要学生进行登录以后才可以实现其功能,作业提交的文件是WORD类型的,页面中已经说明了文件的名字如何命名,这是方便老师进行作业的查看。上传的作业学生可以看到,方便检查学生的作业是否已经上传。PHP的一个非常有用的功能是它支持文件上传,通过PHP代码可以实现文件从HTTP将文件从客户端浏览器传递到服务器,可以用HTML表单设计上传的界面。作业提交页面如图5-7所示。 图5-8 作业提交页面 1.用PHP上传文件时避免常见的上传问题 文件中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。 2. 上传时有一些参数值 值:0;没有错误发生,文件上传成功。 值:1;上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 值:2;上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 值:3;文件只有部分被上传。 值:4;没有文件被上传。 要进入该页面之前必须要先用学生身份登录,该页面的主要功能是疑难解答,可以让老师和学生之间进行信息的交互,很好的帮助学生解决一些课程方面的问题,该功能的实现是用PHP来实现页面与数据库之间的信息交互,首先要建立一个数据表来存储留言的信息,学生和老师所发的信息和时间插入到数据库,然后再从数据库当中提取出这些信息,发布的时间,这里用了一个PHP当中的一个时间函数,显示的是系统的时间。 PHP中的date()函数,常见的date()函数的调用方式如下所示: date_Default_TimeZone_set("PRC"); echo date("Y-m-d H:i:s"); 该语句第一句的作用就是设置为和我的系统一样的中国的时区,这样确保后面的时间函数显示出来的时间与我的系统时间是一致的。其中Y、m、d分别表示日期中的年、月、日,用十进制整数数来表示、H、i,和s分别表示时间中的小时、分和秒,同样用数字表示。关于时间函数中还有一个参数就是UNIX时间戳。 该页面里面有一个关键的地方,就是要使用SESSION的超级全局变量,因为你用学生账户去和老师交流必然要让老师知道你是谁,所以这里面要用到全局变量来获取账号的一些信息,本页以学生的姓名作为发布留言的名称,老师则直接用老师来称呼。同样的在成绩这个数据表里面要有用户的信息在字段里面,功能就像指针一样,方便成绩数据表里面数据的提取,本页用的是账户的姓名放在成绩的数据表中,作为指引的对象。疑难解答的页面如图5-8所示。 图5-8 疑难解答页面 5.2老师前台操作及功能实现 老师的前台必须使用老师身份登录才可以进入,主要是发布一些教学和课程的信息,上传一些资料文件,和学生之间的信息互动(学生作业下载查看和对学生问题的解答,发布学生的课程成绩)。 5.2.1 学生作业的下载 如图5-9所示为老师下载学生作业的页面。 图5-9 作业查询页面 一般下载文件的步骤是浏览器发送一个请求,请求访问服务器中的某个页面(如:hudong.php)。 服务器接受到该请求以后,马上运行该下载.php文件,这时必然要把将要被下载的文件读入内存当中,这里通过fopen()函数完成该动作。现在文件已经在内存当中了,这是需要从内存当中读取文件,通过函数完成该动作需要注意的是,如果文件较大,文件应该是被分成多段返回给客户端的,并不是等文件在服务端全部读取完毕后,一次性返回给客户端,因为这样子会增加服务器的负荷。要实现下载文件必须要有的四个Header(),这个是实现下载的功能。 Header("Content-Type:application/force-download");作用是:通过这句代码客户端浏览器就能知道服务端返回的文件形式。 Header("Accept-Ranges:bytes");的作用是:告诉客户端浏览器返回的文件大小是按照字节进行计算的。 Header("Accept-Length:".$file_size)的作用是:告诉浏览器返回的文件大小。 Header("Content-Disposition:attachment;filename=".$file_name)的作用是:告诉浏览器返回的文件的名称。 5.2.2 学生成绩信息的发布 老师选择某个班级后,就会跳出对应班级的学生信息,就可以进行成绩的发布。在发布信息之前还有一个就是对本次发布信息的描述,该描述是为了方便学生查看,明白是那一次发布的成绩,这样就更能清晰明了的显示学生的成绩情况。老师可以点击最后一栏的成绩查看,这样方便老师发布成绩信息,知道是否自己发错和是否已经发布过成绩,老师发布学生成绩信息的页面如图5-10所示。 图5-10 老师发布成绩信息页面 该功能的实现,使用了动态的URL,因为如果学生人数很多的话,使用动态的URL是很方便的。里面还有一个关键的地方,就是一个班级会有很多的学生,所以从学生的信息库中提取班级的信息会有很多重复的班级,这里运用到一个函数,$sql="select*from login group by class";这条语句就可以去除掉数据表中重复的,只显示不相同的信息。 5.2.3 教学信息的发布 该功能的实现是利用PHP将数据插入数据库中。发布的教学大纲信息页面如图5-11所示。 图5-11 教学大纲信息发布页面 5.3 后台操作及功能实现 5.3.1 后台登录功能的实现 后台的用户登录主要是利用PHP来从用户信息里提取信息进行对比验证,验证通过则登录成功,反之失败。如图5-12所示为后台登录的页面。 图5-12 后台登录页面 Session 翻译成中文是“会话”的意思,它一开始的意思是从开始再到结束,就像打电话一样你从拨号开始打电话到挂断这一整个过程就是一个session。SESSION的作用就是控制一段过程并存取这个过程的一些信息,方便使用者第二次进行这个过程是不需要对其身份进行确认了。Session会话的出现使同一个用户能在不同的页面存入该用户的相关信息。对于我们这些网站的开发人员来说,用动态的URL可以达到每个页面中的一些变量就可以实现在不同的页面中来使用它的目的,可是这并不是最好的方法),在SESSION中使用的变量就可以作为全局变量使用了。 session跨页传递需要考虑的情况: 1.客户端禁用了cookie; 2.浏览器出现问题,暂时无法存取cookie; 控制会话的session代码如下: <?php session_start(); if (!isset ($_SESSION['user'])){ header("location:login.php"); exit () ;} ?> 5.3.2 添加学生信息功能的实现 首先需要创建一个表单,要有输入用户名和密码的文本框,以及其它信息的文本框,然后还要创建一个服务器端的动态网页,可以用PHP来编写,动态网页用来接收和处理客户端表单提交的用户名和密码数据,对于数据的认证,则要在动态网页中嵌入数据库,所以用到动
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服