开篇:润墨网以专业的文秘视角,为您筛选了一篇远程网络教育辅助教学系统范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
(山东交通学院信息工程系,山东济南250023)
摘 要:计算机网络的飞速发展,使得人们之间的交流越来越感受不到距离的存在。本文介绍了远程网络教学系统的开发及其完成的功能。本系统的实现提高了师生之间教与学的互动性,提高了教师课后辅导的效率和质量,使教育资源共享变为现实。
关键词:PHP;数据库;交互;Mysql;Apache
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2007)01-10039-02
1 系统概述
网络教育是指利用网络技术实施远程教育的一种现代教育形式。它具有独特的作用:使教育资源共享变为现实:为学习者提供个性化学习的条件;有助于实现交互式学习:有利于促进教育社会化和学习社会化。世界各国都非常重视网络教育体系的构建和网络教育基础设施建设.努力扶持和发展这一全新的教育方式:为推进网络教育的普及与发展投入大量资金:不断扩大网络教育的普及化程度;教学培训的层次和内容更加宽泛多样。开展远程网络教育势在必行,本系统的主要作用是让学生在完成课程后,能够学习更多的东西和增加与老师在课外的交互。
2 系统环境
2.1客户机/服务器
客户机,服务器是目前用于缩小化或分项化项目的主导结构,这种结构是软件开发界所采用的许多结构中的一种最简单的两级结构。在一个客户机/服务器环境中,真正的工作机是客户计算机(或PC),一个客户可以从多个服务器请求文件和数据,由于服务器扮演着信息源的角色,因而其安全可靠性是尤为重要的。
2.2 SERVER端服务器的选择
Apache自从1996年4月以后就成为互联网最流行的web服务器.根据Netcraft Web Server于2000年3月份的调查显示,有60%的站点都采用了Apache服务器(如果加上Apache衍生的服务器将超过62%)。Apache快速、可靠、可通过简单的API扩展,Perlff'vthon解释器可被编译到服务器中,完全免费,完全源代码开放。如果需要创建一个每天有数百万人访问的Web服务器,A-pache是最佳选择。Apache完全支持基于IP的虚拟主机,和基于域名的虚拟主机两种虚拟主机方式。
2.3数据库管理系统
SOL(结构化查询语言)是标准化的数据库语言,它使得存储、更新和存取信息更容易。MySQL是一个真正的多用户、多线程SOL数据库服务器,是以一个客户机/服务器结构的实现,它由一个服务器守护程序MySQL和很多不同的客户程序和库组成。MySQL主要目标是快速、健壮和易用。[1]
2.4程序设计语言的选择
根据项目的要求,本系统选择PHP作为程序设计语言。PHP是一个巢状的缩写名称,“PHP:Hypertext Preprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(类似IIS上的ASP)。而PHP独特的语法混合了C、Java、Perl以及PHP式的新语法。它可以比CGI或者Perl更快速的执行动态网页。
基于以上种种因素,本系统最终选择了在MYSQL数据库管理系统支持下利用PHP编程语言配合APACHE做服务器来进行系统的建设。[2]
3 系统功能实现
3.1 SQL语言连接数据库
数据库连接分两步创建:
(1)首先把mysql安装到“C:\anysql”下;
(21打开一个数据库连接:
$db=mysqL_connect(″$hostname″,″root″,″″);
mysql_select_db(yuancheng,$db);?>这其中$hostname是MySQL服务器的IP地址:″$hostname″″root″,″″分别是MySQL数据库所在的服务器的地址、登陆的用户名、和密码(这里为空);yuancheng是MySQL数据库的名称。这样就和数据库建立了联系。
可以把以上打开数据库连接的语句保存到一个单独php文件中(如connect.php),每个用到数据库连接的页面直接通过语句调用该文件就可以。既节省了代码,又方便了以后数据库的改名和移植。
3.2 Session的应用
3.2.1 Session的概念
在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。具体到Web中的Session指的就是用户在浏览某个网站时.从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到.Session实际上是一个特定的时间概念。需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器中建立连接时所处的Sessions是两个不同的Session。
3.2.2 Session的解决方案
用户访问一个网站时往往需要浏览许多网页。对于一个通过PHP构筑的网站来说。用户在访问的过程中需要执行许多的PHP脚本。然而由于HTIP协议自身的特点,用户每执行一个PHP脚本都需要和Web服务器重新建立连接。又由于无状态记忆的特点.此次连接无法得到上次连接的状态。这样,在PHP中无法设置全局变量。每个PHP脚本中所定义的变量都是只在这个脚本内有效的局部变量。Session,就是要提供在PHP脚本中定义全局变量的方法,使得这个全局变量在同一个Session中对于所有的PHP脚本都有效。上面提到了,Session不是一个简单的时间概念,一个Session中还包括了特定的用户和服务器。因此更详细地讲,在一个Session定义的全局变量的作用范围,是指这个Session所对应的用户所访问的所有PHP。
3.2.3 Session的具体实现
在每个需要全局变量的php网页中首先设置session_startο;初始化一个新的Session,若该客户已在Session之中,则连上原Session。然后,在用户的验证用户名称和密码的页面中,如果是合法用户则进行:session_register(″username″);以当前合法登陆的用户名注册一个全局变量,这样在此用户浏览站内其他页面的时候便可以使用这个全局变量。从而实现了得到上次连接的状态。用户要注销的页面写入:session_unregister(″usemame″);删除已经注册的全局变量。便完成了一次session的全局变量的作用。同时提 高了安全性。
3.3检验邮件格式是否正确的实现
检验邮件格式是否为*@*的正确格式,是用PHP中函数strson实现的。
strspn:找出某字串落在另一字串遮罩的数目。
内容说明:本函式将str2字串当遮罩,可用来计算strl字串中有几个字元落在str2遮罩中。
原码如下:
$check2=strspn(″.″,″$email″);
if(($check
返回
在用户提交的表单中检查变量$email中是否有“@”和“.”这两个字母,即看strspn这个函数传回的值是否小于1,小于则说明没有这两个字母,格式不正确;反之则正常。
3.4软件、课件上传(删除)的实现在浏览上传软件的页面,是html语言:
这里只是让用户选择了上传软件和课件的路径,而上传软件到服务器的PHP程序在这个表单提交的页面中。
原码为:
{$type=explode(″.″,$kejian_name);
$kejianname=time().″.″.$type[1];
copy($kejian,”kejian/$kejianname”);?>
if语句首先判断在表单里变量是否为空,假如不为空则利用explode函数来获得上传软件或课件的后缀名。
explode:切开字串。
内容说明:本函式将字串依指定的字串或字元separator切开。将切开后的字串传回到阵列变数中。
用″.″把传来的变量keiian切开获得上传的文件的后缀名,然后再用time函数获得上传文件的时间(保证任何软件都不会重名)加上后缀名得到软件的全名。用copy函数将上传的文件拷贝到服务器里。
copy:复制档案。
文件的删除,当管理员认为上传的软件不可选,删除的时候,不仅要删除和这个软件相关的文本信息,更重要的是将文件本身一起删除,以便节省空间。使用unlink这个函数实现。
unlink:删除档案。
内容说明:本函式删除档案filename,用法像UNIX中C语言呼叫的同名函式unlink()。当发生错误则传回0或false。[3]
3.5权限级别的实现
对于用户分级,不同权限的用户所拥有的功能不一样。在本系统中,管理员拥有最高的权限,其次是教师,然后是学生。用户在用户基本信息表(users)中通过if语句来判断用户权限(admin)属性值,从而确定用户的级别(0对应的用户是学生、1对应的用户是教师、2对应的用户是管理员)。确定用户的级别后,再用if语句来区别不同的级别所拥有的功能,从而达到拥有不同权限的目的。像教师可以信息的原码为:
while($row=mysql_fetch_array($result)){
$admin=8row[″admin”];
if($admin
此版区仅供教师使用,你没有权限,返回
3.6 BBS讨论区的实现
BBS讨论区这个模块主要是通过PHP和MYSQL对数据库中BBS和信息内容表(bbs)的读取、插入、删除和修改这几个方面进行操作(在此只写出语句原码)。
读取并写出数据内容:
while($row=mysql_feteh_array($result)){
echo $row[″writer″]……,}?>
插入数据库数据:$ip=$REMOTE_ADDR
mysql_query(″insert into bbs(title,writer,softname,content,date―tlme,photo,lp,type,class)
values(′$sfiitle′,′$username′,′$softname′,′$content′,now(),′$photo′,′$ip′,′$type′,′$class′)”);
删除数据库数据:mysql_query (″delete from bbs where id=′$id′″);
修改数据库数据:mysql_query(″update bbs set soficheck=1 where id=′$id′″);
4 结束语
总之,网络在现代教育中起着不可或缺的作用,本系统的运行提高了教学效率和质量,增进了教师与学生的交流。
本系统的实现提高了师生之间教与学的互动性,提高了教师课后辅导的效率和质量,使教育资源共享变为现实
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。