动态网站开发》教学大纲

2013版)

 

 

 

 

 

课程编码:0611100805

课程名称:动态网站开发

学时/学分:80/5

先修课程:计算机导论》、《程序设计基础

适用专业:计算机科学与技术

开课教研室:软件工程教研室

 

 

 

 

 

 

 

 

 

 

 

 

执笔:

审定:

 

 

 

 

一、课程性质与任务

1.课程性质: PHP是一种服务器端的、嵌入HTML的脚本语言。通过它,用户可以快速、高效地开发出动态的Web服务器应用程序。凭借运行效率高、性能稳定、开源等特点,PHP已经成为主流Web开发语言。PHP作为非常优秀的、简便的 Web 开发语言,满足了最新的互动式网络开发的应用, PHP 开源技术正在成为网络应用的主流。本门课程是一门重要的专业课程,也是一门实践性很强的课程。课程主要讲解PHP的相关知识及PHPWEB应用程序开发中的实际应用,通过具体案例,使学生巩固数据库、网页制作等专业知识,更好地进行开发实践。

2.课程任务:使学生掌握PHP各方面的知识,掌握Web应用程序开发的特点和常用的实现方法,具备能够针对某一行业进行网站开发、对开源代码进行二次开发的能力,具备一定的独立网站编程能力。具体如下:

(1)了解PHP的特征及功能,掌握PHP的基础知识和核心技术。    

(2)掌握PHP的安装及配置,掌握PHP的调试方法,熟悉PHP在整站程序中的作用。    

(3)掌握PHP进行Web开发的全过程。    

(4)通过对大量PHP开源实例中相关技术点的剖析讲解,使学员了解PHP各知识点在Web开发中的作用,掌握PHP编程技巧。    

(5)对实际的网页效果和网站应用程序分析,熟悉整个网站的设计思路和架构。 

教学重点和难点: 

教学重点:掌握PHP语法结构、数据库技术、软件测试技术、软件工程、界面设计等知识的综合灵活应用。

教学难点:数据库建模、业务流程建模、DIV+CSS界面设计技巧、PHP复杂业务处理。在学生没有数据库知识、没有太多编程知识的前提下开发小型软件项目。

二、课程教学基本要求

对课程教学环节的要求:

通过该课程的学习,使学生掌握动态网页制作的基本操作技能,并能熟练应用于中小型动态网站的建设中,在项目实践中提高学生的动手能力和创新能力。掌握Web应用程序开发的特点和常用的实现方法,具备能够针对某一行业进行网站开发、对开源代码进行二次开发的能力,具备一定的独立网站编程能力。具体如下:

1.在掌握PHP基本知识的基础上,以能力培养为主线,结合实际开发案例,突出主要知识点,避免泛泛而谈。

2.通过课堂实例练习,提高实际编程能力,学以致用。

3.通过课程设计,把理论知识与实践相结合,提高学生学习兴趣。

4.引导学生创新、创意;对基本教学案例的功能加以扩展,激发创新意识。

教学环境、实验环境、上机环境要求:要求安装WAMPServer集成开发环境。

本课程的理论课时:52学时。

考核形式:

本门课程为考试课。本课程实用性强,主要考核学生的实践操作能力。考核方式选用论文答辩机制。

本课程共计学时:32,理论学时48,实践学时32

成绩构成:平时成绩30%,答辩成绩70%,总成绩为100分。

三、课程教学内容

第一章    PHP入门

1.教学基本要求

介绍PHP概况,PHP程序的工作流程,并以WampServer为例介绍PHP服务器安装和配置。

2.要求学生掌握的基本概念、理论、技能

通过学习,读者可以了解PHP程序的工作流程,并可以编写、运行简单的PHP程序。

3.教学重点和难点

教学重点是PHP程序的工作流程。教学难点是Apache服务器的配置、MySQL数据库服务器的配置。

4.教学内容

1PHP概况

主要知识点:PHP的优势;PHP的应用领域;HTML内嵌式的脚本语言。

2PHP脚本程序工作流程

主要知识点:WEB浏览器;HTML简介;PHP预处理器;WEB服务器;数据库服务器;PHP程序的工作流程。

3PHP服务器构建

主要知识点:服务器安装前准备;服务器安装;PHP服务器启动与停止;第一个PHP程序;PHP服务器配置。

第二章    PHP基础

1.教学基本要求

着重讲述PHP基本语法、PHP程序的组成以及PHP编码规范,详细讲解PHP数据类型以及数据输出等知识。

2.要求学生掌握的基本概念、理论、技能

通过学习,读者可以从整体上认识PHP程序的各个组成部分,并可以制作功能简单的用户注册系统。

3.教学重点和难点

教学重点是PHP数据、PHP数据类型、浏览器端的数据采集。教学难点是编程规范习惯的养成PHP数据的输出

4.教学内容

1PHP代码基本语法

主要知识点:PHP开始标记与结束标记;PHP注释;PHP语句及语句块。

2PHP程序的组成

主要知识点:关于PHP数据;PHP数据类型;浏览器端的数据采集;PHP程序的数据采集;PHP数据处理;PHP数据的输出。

3)编码规范

主要知识点:书写规范命名规范为代码添加注

第三章    PHP表达式

1.教学基本要求

PHP表达式是PHP程序最为重要的组成部分,PHP表达式指的是将相同数据类型或不同数据类型的数据(如变量、常量、函数等),用运算符号按一定的规则连接起来的、有意义的式子。本章围绕表达式详细讲解表达式中涉及的变量、常量以及常用运算符,最后讨论表达式中数据类型之间的相互转换。

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以了解变量、常量、常用运算符、变量状态函数以及类型转换的相关知识,为今后设计更为复杂的程序奠定坚实的基础。

3.教学重点和难点

教学重点是isset()函数、unset()函数、empty()函数的使用,数据类型的转换。教学难点是理解NULL的区别以及字符串连接运算符、错误抑制符、比较运算符等运算符的使用

4.教学内容

1)常量

主要知识点:自定义常量;常量的内存分配;预定义常量。

2)变量

主要知识点:变量基本概念;变量的内存分配;变量赋值方式;可变变量。

3)有关变量或常量状态的函数

主要知识点:数据类型查看函数;检查常量或变量是否定义函数;取消变量定义unset()函数;检查变量是否为 数据类型检查函数。

       4PHP运算符

主要知识点:算术运算符;递增/递减运算符;赋值运算符;比较运算符;逻辑运算符;字符串连接运算符;错误抑制运算符;条件运算符;类型运算符;执行运算符;位运算符;运算符优先级。

5)数据类型的转换

主要知识点:类型自动转换;强制类型转换

第四章    PHP表达式

1.教学基本要求

流程控制语句用于改变程序的执行次序,从而控制程序的执行流程。PHP流程控制共有3种类型:条件控制结构、循环结构以及程序跳转和终止语句,这3种类型的流程控制构成了面向过程编程的核心。

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以了解条件控制结构、循环结构以及程序跳转和终止语句3种类型的PHP流程控制语句,这3种类型的流程控制构成了面向过程编程的核心。通过学习,为今后设计更为复杂的程序奠定坚实的基础。

3.教学重点和难点

教学重点是ifelse语句、switch语句、while语句以及break语句、continue语句的使用。教学难点是exit语句的使用和return语句的使用

4.教学内容

1)条件控制结构

主要知识点:if语句;ifelse语句;switch语句。

2)循环结构

主要知识点:while循环语句;dowhile循环语句;for循环语句;循环结构应用。

3)有关变量或常量状态的函数程序跳转和终止语句

主要知识点:continue语句;break语句;终止PHP程序运行

第五章    PHP表达式

1.教学基本要求

数组(Array)是一组批量的数据存储空间,这一组存储空间在内存中是相邻接的,每一个存储空间存储了一个数组元素,元素之间使用“键”(key)来识别,通过数组名和“键”的组合实现数组中每一个元素的访问。

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以了解数组的基本概念以及数组常用的处理函数,并掌握几种数组遍历方法。

3.教学重点和难点

教学重点是数组的遍历foreach语言结构、常用数组函数的使用、数组内部指针。教学难点是常用数组函数的使用,例如快速创建数组的函数、数组统计函数、数组指针函数、数组和变量间的转换函数、数组遍历语言结构、数组检索函数

4.教学内容

1)数组的基本概念

主要知识点:为什么引入数组;数组的分类。

2)一维数组的创建

主要知识点:直接将变量声明为数组元素;使用array()语言结构创建数组;创建数组的注意事项;while循环语数组元素的访问句。

3)多维数组

主要知识点:二维数组的创建;二维数组元素的访问。

4)数组处理函数及应用

主要知识点:快速创建数组的函数;数组统计函数;二维数组的创数组指针函数建;二维数组元素的访问;数组和变量间的转换函数;数组遍历语言结构;数组检索函数;数组排序函数;数组与数据结构;数组集合运算函数

第六章    PHP的数据采集

1.教学基本要求

讲解浏览器端数据的提交方式,然后讲解如何创建FORM表单实现浏览器端的数据采集,最后讲解PHP程序各种数据采集的方法。

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以了解浏览器端数据的各种提交方式,如何创建FORM表单实现浏览器端的数据采集, PHP程序各种数据采集的方法,以及如何实现文件的上传功能。通过学习,读者可以结合PHP数组实现功能复杂的用户注册系统

3.教学重点和难点

教学重点是设计FORM表单、文件上传的表单的设计以及如何实现文件上传功能, 文件上传的具体流程、与文件上传有关的配置。教学难点是多文件上传的实现;GET以及POST提交方式的区别、相对路径和绝对路径的区别

4.教学内容

1浏览器端数据的提交方式

主要知识点:GET提交方式;POST提交方式;GETPOST混合提交方式;两种提交方式的比较。

2相对路径和绝对路径

主要知识点:绝对路径;相对路径;相对路径其他概念。

3使用FORM表单实现浏览器端的数据采集

主要知识点:表单标签<form></form>;表单控件;在表单控件中使用数组;表单按钮;FORM表单综合应用。

4使用$_GET$_POST采集表单数据

5上传文件的数据采集

主要知识点:与上传相关的配置;PHP文件上传流程;预定义变量$_FILESPHP文件上传的实现。

6WEB服务器端其他数据采集方法

主要知识点:预定义变量$_REQUEST;预定义变量$_SERVER

第七章    自定义函数

1.教学基本要求

介绍PHP文件间相互引用的4PHP语言结构,然后重点介绍如何创建和调用用户自定义函数。

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以了解PHP文件间相互引用的4PHP语言结构,如何创建和调用用户自定义函数,创建具有文件上传功能的自定义函数,重构用户注册系统的代码,增强代码重用性。

3.教学重点和难点

教学重点是设计具有文件上传功能的自定义函数,重构用户注册系统的代码设计以及return语言结构的使用。教学难点是include_onceinclude语言结构的区别;static关键字以及global关键字的使用以及return语言结构的使用

4.教学内容

1PHP文件间的引用

主要知识点:include语言结构;requireinclude语言结构的比较;include_oncerequire_once语言结构。

2函数概述

主要知识点:函数的概念;函数的分类。

3自定义函数

主要知识点:自定义函数的定义;自定义函数的声明和调用;自定义函数的参数赋值;变量的作用域和global关键字;变量的生存周期和static关键字;变量函数。

4自定义函数综合示例

5return语言结构

第八章    MySQL数据库

1.教学基本要求

抛开PHP讲解MySQL数据库相关知识,以“学生管理系统”为例,讲解该系统的数据库开发流程。通过学习,读者可以具备简单数据库系统设计与开发的能力。

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以了解数据库的功能、数据库常用的专业术语、常用的SQL语句。通过具体案例学生管理系统设计该系统的数据库,通过学习,学生具备简单数据库系统设计与开发的能力,为今后设计更为复杂的应用系统奠定坚实的基础。

3.教学重点和难点

教学重点是数据库的设计流程、开发流程以及如何设计E-R图。教学难点是如何设计数据库表、如何选择数据库表的主键以及如何防止中文乱码问题

4.教学内容

1数据库概述

主要知识点:数据库;关系数据库管理系统(RDBMS);结构化查询语言(SQL)。

2数据库的设计

主要知识点:E-R模型;主键(Primary Key);实体间的关系与外键(Foreign Key);约束(Constraint)。

3MySQL简介

主要知识点:MySQL服务器的启动;连接MySQL服务器;MyISAMInnoDB存储引擎。

4字符集

主要知识点:字符集简介;MySQL字符集;MySQL中的字符集转换过程;MySQL字符集的设置;SQL脚本文件。

5MySQL数据库管理

主要知识点:创建数据库;选择当前操作的数据库;显示数据库结构;删除数据库

6数据库表的管理

主要知识点:数据类型;MySQL中的附加属性;创建数据库表;显示数据库表结构;删除数据库表。

7表记录的更新操作

主要知识点:表记录的添加;表记录的修改;表记录的删除。

8表记录的查询操作

主要知识点:指定字段列表及列别名;使用谓词限制记录的行数;使用from子句指定多个数据源;使用where子句过滤记录;使用order by子句对记录排序;使用聚合函数返回汇总值;使用group by子句对记录分组统计;使用having子句提取符合条件的分组。

9MySQL特殊字符序列

第九章    PHPMySQL数据库

1.教学基本要求

结合学生管理系统student数据库讲解如何使用PHP函数实现PHPMySQL数据库之间的交互,然后以用户注册系统为例讲解该系统的实现过程。

2.要求学生掌握的基本概念、理论、技能

结合学生管理系统数据库,通过学习,学生可以了解使用PHP函数实现PHPMySQL数据库之间的交互过程,并以用户注册系统为例学习该系统的实现过程。通过学习,学生可以具备简单WEB应用系统设计与开发的能力。

3.教学重点和难点

教学重点是如何开启数据库连接、如何关闭数据库连接、关闭数据库连接的时机。教学难点是字符集设置的方法、结果集遍历函数的使用以及如何防止SQL注入问题

4.教学内容

1PHP中常用的MySQL操作函数

主要知识点:连接MySQL服务器;设置数据库字符集;关闭MySQL服务器连接;选择当前操作的数据库;发送SQL语句或MySQL命令;遍历结果集中的数据;MySQL服务器连接与关闭最佳时机;MySQL服务器连接与关闭函数的制作。

2PHP中其他MySQL操作函数

主要知识点:数据库操作函数;数据库表操作函数;选择当前操作的数据库并发送SQL语句;表字段操作函数;其他常用函数。

3用户注册系统的实现

主要知识点:用户注册系统文件组织结构;用户注册界面的实现;数据库的实现;制作用户注册系统所需的函数;用户注册功能的实现;用户登录页面的实现;用户登录功能的简单实现。

4SQL注入

第十章    新闻发布系统的开发

1.教学基本要求

以新闻发布系统为例,讲解如何使用传统的结构化方法开发该系统,详细讲解该系统的开发流程以及分页函数的制作过程。通过学习,读者将具备复杂WEB应用系统设计与开发的能力。

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以了解传统的结构化方法开发MIS系统的方法、流程以及分页函数的制作过程,并具备复杂WEB应用系统设计与开发的能力。

3.教学重点和难点

教学重点是新闻发布系统系统编码实施、软件开发生命周期SDLC教学难点是分页的原理以及实现

4.教学内容

1新闻发布系统开发流程

主要知识点:MIS的开发流程;新闻发布系统的开发流程。

2新闻发布系统的系统规划

主要知识点:新闻发布系统的目标;新闻发布系统的可行性分析;新闻发布系统的项目进度表;新闻发布系统的人员分工。

3新闻发布系统的系统分析

主要知识点:新闻发布系统的功能需求;新闻发布系统的技术需求;新闻发布系统中使用的模型;新闻发布系统的E-R模型;新闻发布系统的数据流程图;数据字典(Data Dictionary)。

4新闻发布系统的系统设计

主要知识点:系统流程图;程序流程图;数据库物理设计;图形用户界面设计。

5新闻发布系统系统实施

主要知识点:文件组织结构;数据库的实施;新闻管理和评论管理功能的实施。

6分页原理及实现

主要知识点:分页原理;PHP分页的最简单实现;带有分页导航条分页的实现;分页函数的制作。

7新闻发布系统软件测试

8新闻发布系统系统支持

第十一章    PHP会话控制

1.教学基本要求

讲解实现PHP页面间参数传递的所有方法,着重讲解如何使用CookieSession实现PHP会话控制,并结合“新闻发布系统”讲解如何使用CookieSession实现该系统安全访问与权限控制,最后讲解header()函数的功能。

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以掌握PHP页面间参数传递的所有方法,页面跳转的方法,使用CookieSession实现PHP会话控制的方法,结合新闻发布系统使用CookieSession实现该系统安全访问与权限控制。

3.教学重点和难点

教学重点是使用Cookie会话技术以及Session会话技术,结合新闻发布系统系统实现该系统的安全访问与权限控制。教学难点是文件下载的实现、使用header()函数控制服务器响应的内容、CookieSession的使用场景

4.教学内容

1页面间的参数传递

主要知识点:重定向的概念;使用JavaScript实现重定向;使用PHP实现重定向。

2会话控制

主要知识点:会话控制基本概念;会话控制的实现。

3Cookie会话技术

主要知识点:浏览器的Cookie设置;Cookie的工作原理;Cookie分类;PHP使用Cookie的步骤;创建Cookie;预定义变量$_COOKIE;删除浏览器端的Cookie;新闻发布系统用户管理功能的实现(一);Cookie数组。

4Session会话技术

主要知识点:Session工作原理;SessionCookie的区别;PHP使用Session的步骤;Sessionphp.ini文件中的配置;开启SessionSession IDSession nameSID;预定义变量$_SESSION;删除和销毁SessionSession的综合应用; 新闻发布系统用户管理功能的实现(二);新闻发布系统权限控制的实现;Session数组。

5header()函数的使用

主要知识点:页面重定向;创建Cookie;服务器响应内容的控制;浏览器缓存的远程控制;常用的浏览器缓存控制函数;完善新闻发布系统文件下载功能。

第十二章    字符串处理

1.教学基本要求

字符串在PHP中占据着举足轻重的地位,主要讲解如何使用PHP提供的字符串处理函数进行字符串处理,并结合“新闻发布系统”修改该系统的几处bug

2.要求学生掌握的基本概念、理论、技能

通过学习,学生可以掌握PHP常用的字符串处理函数,结合“新闻发布系统”修改该系统的几处bug

3.教学重点和难点

教学重点是使用字符串修剪函数的使用,字符串中的字符处理。教学难点是在新闻发布系统中,如何修改该系统的bug、增强该系统的功能

4.教学内容

1字符串的指定方法

主要知识点:使用单引号指定字符串;使用双引号指定字符串;使用定界符指定字符串;字符串中的字符处理。

2字符串处理函数

主要知识点:字符串修剪函数;字符串长度函数;子字符串操作函数;字符串比较函数;字符串连接和分割函数;字符串替换函数;URL处理函数;其他常用的字符串函数。

3新闻发布系统中的字符串处理函数的应用

主要知识点:删除模糊查询中关键字两边的空格;修改文件下载功能的代码;修改发表评论功能的代码;优化新闻列表显示功能的代码;模糊查询时关键字以加粗倾斜格式显示;优化分页函数代码。

第十三章    新闻发布系统的页面美工

1.教学基本要求

讲解新闻发布系统页面美工的相关知识,详细讲解在线编辑器FCKeditor的使用,重点讲解使用DIV + CSS实现网页布局和样式的方法以及如何将动态PHP页面代码嵌入到静态网页布局中,本章还会牵涉一些JavaScript的知识。

2.要求学生掌握的基本概念、理论、技能

通过本章的学习,掌握FCKeditor在线编辑器的使用,制作一个美观大方的新闻发布系统。

3.教学重点和难点

教学重点是FCKeditor在线编辑器的二次开发、使用DIV+CSS实现页面布局、FCKeditor在新闻发布系统中的应用。教学难点是FCKeditor的高级配置、使用DIV+CSS实现新闻发布系统页面布局

4.教学内容

1JavaScript脚本语言

2FCKeditor在线编辑器

主要知识点:FCKeditor使用前的准备工作;FCKeditor类的成员变量和成员方法;FCKeditor的高级配置;FCKeditor在新闻发布系统中的应用;FCKeditor的文件管理;FCKeditor瘦身。

3新闻发布系统页面布局的实现

主要知识点:DIV+CSS概述;界面布局图;使用DIV实现页面布局;准备图片素材;CSS热身;header层的实现;pagebody层的实现;footer层的实现。

4新闻发布系统静态和动态页面的嵌入

主要知识点:将用户管理功能嵌入到login层;修改menu层代码;将主要功能嵌入到mainfunction层;sidebar层和mainbody层的高度自适应功能;防止图片太宽撑破mainbody层。

四、学时分配表

1.讲授内容及学时分配:

章序

内容

课时

备注 

PHP入门

2

 

 PHP基础

2

 

PHP表达式

2

 

PHP流程控制

2

 

PHP数组

4

 

PHP的数据采集

4

 

PHP自定义函数

2

 

 MySQL数据库

6

 

PHPMySQL数据库

4

 

新闻发布系统的开发

6

 

十一

PHP会话控制

6

 

十二

字符串处理

4

 

十三

新闻发布系统的页面美工

4

 

合计

48

 

2.实践内容及学时分配

序号

项目

名称

内容提要

学时

/选开

1

服务器安装

1认识PHP脚本程序工作流程。

2熟悉服务器安装。

3PHP服务器启动、停止与配置

1

必开

2

PHP程序的组成

1浏览器端的数据采集。

2PHP程序的数据采集、处理和输出。

1

必开

3

PHP表达式

1PHP变量与常量的使用。

2PHP运算符的使用。

3.数据类型的转换。

1

必开

4

PHP流程控制语句

1.条件控制结构的使用。

2.循环结构。

3.程序跳转和络上语句。

1

必开

5

PHP数组

1.一维数组的创建。

2.多维数组的应用

3.数组处理函数及应用。

2

必开

6

PHP的数据采集

1.浏览器端数据的提交方式。

2.使用FORM表单实现浏览器端的数据采集

3.使用$_GET$_POST“采集”表单数据。

4.上传文件的“数据采集”

4

必开

7

自定义函数

1PHP文件间的引用。

2.创建求和自定义函数。

3.创建文件上传自定义函数。

2

必开

8

MySQL数据库

1.了解学生管理系统,设计该系统的ER图。

2.熟悉MySQL控制台各种操作。

3.设置MySQL字符集。

4MySQL数据库管理

5MySQL数据库表管理

6表记录的更新操作、查询操作。

4

必开

9

PHPMySQL数据库

1.熟悉PHP连接MySQL服务器的函数使用。

2.熟悉PHP中其他MySQL操作函数

3用户注册系统的实现。

2

必开

10

新闻发布系统的开发

1新闻发布系统的系统分析与系统设计

2新闻发布系统系统的实施

3分页功能的实现

4Windows系统安全防护。

6

必开

11

PHP会话控制

1Cookie会话技术的使用

2Session会话技术的使用

4

必开

12

字符串处理

1字符串处理函数的使用

2新闻发布系统中的字符串处理函数的应用

2

必开

13

新闻发布系统的页面美工

1FCKeditor在线编辑器的使用

2新闻发布系统页面布局的实现

2

必开

合计

32

 

五、主用教材及参考书

(一)主用教材:

PHP编程基础与实例教程》主编:孔祥盛 出版社:人民邮电出版社 出版时间:2011年。

(二)参考书:

1. PHPMySQL WEB开发》主编:Luke Welling 武欣(翻译) 出版社:机械工业出版社 出版时间:2009年。

2. 深入浅出MySQL数据库开发、优化与管理维护》主编:唐汉明等 出版社:人民邮电出版社 出版时间:2008年。

3.MySQL技术内幕》主编:姜承尧 出版社:机械工业出版社 出版时间:2013年。