维护和教师管理五个部分。针对如上功能 , 设计了数据 库 ER 图 , 如图 1。
图1 页面的布局整体框架由 DIV+CSS 构成 , 这样整个界面风格都
作者简介 : 曾燕燕 , 助教 , 研究方向 : 计算机应用技术
193
2011?1(下)《科技传播》
信息科技 Information Technology
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 设计该答疑模块 , 可以快速地 获取问题的答案和页面及时信息。 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->savea