admin 管理员组

文章数量: 1184232


2024年4月25日发(作者:accessory造句)

基于PHP的精品课程网站设计与开发

摘要 本文采用php+mysql进行精品课程网站的开发设计,结合

web2.0以用户为核心的思想,通过引进ajax技术,实现用户快速

答复和使用方便的需求。

关键词 php;mysql数据库;ajax 网站

中图分类号tp393 文献标识码a 文章编号 1674-6708

(2011)35-0193-02

0 引言

精品课程教学资源网站的建设承担着重要的教学信息化示范作

用,可为教学手段的改进、教学质量的提升等带来巨大的促进。目

前,国内外实现动态可交互的网站技术有很多,比较常用的有asp,

jsp和php等。asp可移植性较差,并且解释执行效率不高;jsp虽

然功能强大,但其技术特点决定了它在企业级应用的优势;php跟

html具有良好的兼容性,用户可以在源代码中直接加入html标签

[1]。因此,本文采用php技术设计站点。

本文结合web2.0的相关思想,用php进行动态网站开发,采用

zend平台,基于mysql[2]数据库系统,结合精品课程网站的特点,

构建用户信息注册登陆,成绩录入查询及统计,作业发布,文件上

传,在线答疑,图片展示,页面信息维护等功能。

1 实现技术

php是一种 html内嵌式的语言,嵌入html文档在服务器端执

行的脚本语言,语言的风格类似于c语言,现在被众多的网站编程

人员广泛的运用。mysql由于体积小、速度快、总体拥有成本低,

并且开放源代码,成为中小型企业网站为降低成本的首选数据库。

ajax是web 2.0的一种可选的增强技术,它让通信异步进行而不刷

新页面,其快速灵敏的页面响应效果,符合用户求快的心理和使用

方便的需求。

本系统在zend studio统一开发环境下开发,它包括了php所

有必须的开发部件。通过一整套编辑、调试、分析、优化和数据库

工具;zend studio加速了开发周期,并简化了复杂的应用方案。

2 总体设计

精品课程站点模块分为:用户、作业上传下载、在线答疑、页

面信息维护和教师管理五个部分。针对如上功能,设计了数据库er

图,如图1。

页面的布局整体框架由div+css构成,这样整个界面风格都保

存在一个css文件里,便于修改,然后各个页面由table进行灵活

的布局[3]。采用这种布局,使整个界面清晰,简洁并且方便管理。

在系统的使用和操作的功能上,有管理者和普通注册用户两种类

型,根据用户类型把系统分为前台模块和后台管理模块。为便于整

个系统组织管理,采用把各个相对独立的功能独立设计,然后把各

个相对独立的数据或功能组织到整个大系统中来。对应于各管理功

能模块,几乎都有上传、查询、修改、删除这几项功能,整个业务

流程就是由这几种基本功能实现的。

3 详细设计

本文采用php数据库函数进行连接,主要采用:

mysql_connect():建立与mysql服务器的连接。

mysql_select_db ():选择mysql服务器中的数据库进行操作。

mysql_query ():送出sql查询语言以帮助mysql做相关的处

理或执行。

mysql_fetch_row ():用来将查询结果result单行移到数组变

量中。数组的索引是数字索引,第一个索引值是0。采用该种连接

方式,在存取时间上,比通过odbc方式存取耗费小。下面,例举

用户、在线答疑和页面信息维护模块简要说明。

3.1 用户模块设计

用户模块包括用户注册,登录等功能。登录后可执行作业上传、

在线答疑、成绩查询等操作。未注册用户除了浏览只具备搜索留言

权限。由于需要考虑用户名是否添加,采用了ajax无刷新验证,

增强了用户体验。而且“按需取数据”,可以最大程度地减少冗余

请求和响应对服务器造成的负担。

实现中调用xmlhttprequest对象初始化ajax,当页面调用该实

例化函数时将创建一个新的http请求,并指定请求的方法、url以

及验证信息,然后在对应的label显示出获取的显示内容,而且页

面没有进行过任何刷新。在输入注册用户名的文本框失去焦点的时

候,则会自动向服务器发出请求,用户则继续该页面的其他操作,

不必等待服务器返回信息。

ajax实例化代码如下:

var xmlhttp = false;

xmlhttp = new activexobject(“p”);

xmlhttp = new activexobject(“p”);

if (!xmlhttp && typeof xmlhttprequest != ‘undefined’)

{

xmlhttp = new xmlhttprequest();

}

function idajax(data){

(“get”,”?id=“+escape(

telementbyid(“id”).value),true);

(null);

ystatechange=function(){

if (4==tate){

if (200==){

mentbyid(“idtip”).innerhtml=xmlhttp.r

esponsetext;

}else{

alert(“发生错误!”); }}}}

这种方式适应于页面中任何元素,包括表单等等,其实在应用

中,对表单的操作是比较多的,针对表单,更多使用的是post方

式。

3.2 在线答疑模块设计

在线答疑模块主要是为方便学生跟老师间的交流和设计的,学

生通过此模块留下在学习过程中的一些疑问,由教师进行回复,也

可以通过搜索来查看历史问题。教师可以根据学生留言进行回复,

也可以对个别留言进行删除。

$message=htmlspecialchars($_post[“message”]);

$message=nl2br($message);//获取留言

$datastr=date(‘y-m-d g:i:s’);//获取时间

$ip=$_post[“ip”]; //获取ip

$sql = “insert into `jpkc`.`message` (`number`, `id`,

`message`, `huifu`, `username`, `mail`, `ip`, `date`) values

(null, ‘{$id}’, ‘{$message}’, ‘{$huifu}’, ‘{$name}’,

‘{$email}’, ‘{$ip}’, ‘{$datastr}’);”; //插入数据

$sql=mysql_query($sql);

如上列出了用户留言代码,用php做出的动态页面与其他的编

程语言相比,php是将程序嵌入到html文档中去执行,执行效率比

完全生成html标记的cgi要高许多;与同样是嵌入html文档的脚

本语言javascript相比,php在服务器端执行,充分利用了服务器

的性能;php执行引擎还会将用户经常访问的留言信息驻留在内存

中,其他用户再一次访问这个程序时就不需要重新编译程序了,只

要直接执行内存中的代码就可以了,这也是php高效率的体现之一。

通过php设计该答疑模块,可以快速地获取问题的答案和页面及时

信息。

3.3 页面信息维护模块

此模块类似于一个顶级菜单固定的无限下级分类,每个页面下

分别进行管理,可实现下级类别的增加、删除和编辑等功能,由管

理员上传word形式的文档,再通过服务器转存成html文件进行显

示,此功能模块只开发给管理员。

一般地,服务器文件io操作耗费时间与资源;如果采用cgi、

perl和asp等语言,由于解释代码和执行效率低,容易导致服务器

假死现象;特别地,采用cgi技术将会使该cgi程序的进程繁忙,

导致过多服务被拒绝。而采用php技术,可以快速的执行代码,将

假死的瓶颈放置在文件的大小上,而不是解释效率上,如下列出文

件操作的主要php代码:

$newexten=“cod.”;

$f_name=$_files[‘mnsjfile’][‘name’];

$fz=strrev($f_name);

$bj = substr($fz,0,4);

if($newexten==$bj){

include(“”);

$filedir=“upload/”;

$id=$_get[“mnid”];

$uploadfile=$filedir . $_files[‘mnsjfile’][‘name’];

if

(is_uploaded_file($_files[‘mnsjfile’][‘tmp_name’]))

{copy($_files[‘mnsjfile’][‘tmp_name’],

$uploadfile);

$sql2=“insert into `jpkc`.`mnsj` (`id`, `path`) values

(‘{$id}’, ‘{$uploadfile}’)”;

$res=mysql_query($sql2); //插入数据

$path=“e:/phpwork/jpkc/”;

$newpath=$path . $uploadfile;

$msword = new com(“ation”);

//调用com对word进行操作

$msdocument = $msword->documents->open($newpath ,false,

true);

$opath=$newpath . “.htm”;

$msdocument->saveas($opath,8);

$msword->quit();

4 结论

本文旨在通过利用现在发达的网络和成熟的php技术,构造一

种新型的、高效的、具有互动性的现代教学手段。应用php技术和

web2.0思想为院校的网上教学提供一种交互、开放、易用的全新环

境,实现教学资源共享,师生网上的互动交流讨论,实施个性化和

人性化教学,提高教学质量,这就是构造此精品课程网站的意义所

在。

参考文献

[1]郭金锋.php & mysql web网络编程[m].北京:人民邮电出版

社,2001.

[2]蒋宇清.新一代嵌入式脚本语言php[j].计算机时代,

2000(10).

[3]eric a meyer著.css权威指南[m].许勇,齐宁,译.中国电

力出版社,2001,5.


本文标签: 用户 进行 模块 页面 网站