当前位置:首页 > 发言稿 > 网站开发与管理精品课程 基于PHP的精品课程网站设计与开发
 

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

发布时间:2019-02-27 04:19:04 影响了:

  摘要 本文采用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("Msxml2.XMLHTTP");
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  if (!xmlhttp && typeof XMLHttpRequest != "undefined") {
  xmlhttp = new XMLHttpRequest();
  }
  function idAjax(data){
  xmlhttp.open("GET","db.php?id="+escape(document.getElementById("id").value),true);
  xmlhttp.send(null);
  xmlhttp.onreadystatechange=function(){
  if (4==xmlhttp.readyState){
  if (200==xmlhttp.status){
  document.getElementById("idtip").innerHTML=xmlhttp.responseText;
  }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设计该答疑模块,可以快速地获取问题的答案和页面及时信息。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文   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("dbconnect.inc.php");
  $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("word.application");
   //调用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.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3