第1章 PHP入门与环境搭建
1.1 PHP概述
1.1.1 PHP是什么
1.1.2 PHP语言的优势
1.1.3 PHP的版本
1.1.4 HTML嵌入式的脚本语言
1.2 PHP程序的工作流程
1.2.1 PHP的工作流程
1.2.2 PHP服务器
1.3 PHP开发环境构建
1.3.1 PHP开发环境的安装
1.3.2 PHP服务器的启动与停止
1.3.3 PHP开发环境的关键配置
1.4 常用代码编辑工具
1.5 第一个PHP程序
实例:用Dreamweaver开发一个简单的PHP程序,输出一段欢迎信息
小结
上机指导
习题
第2章 PHP开发基础
2.1 PHP基本语法
2.1.1 PHP标记符
2.1.2 PHP注释
2.1.3 PHP语句和语句块
2.2 PHP的数据类型
2.2.1 标量数据类型
实例:布尔值的应用
实例:应用单引号和双引号来输出同一个变量
实例:应用定界符定义字符串并输出
实例:分别输出定义的十进制、八进制和十六进制变量
实例:输出圆周率的近似值
2.2.2 复合数据类型
实例:创建数组并输出数组中的值
2.2.3 特殊数据类型
2.2.4 检测数据类型
实例:检测相应的数据类型
2.3 PHP数据的输出
2.3.1 print和echo
2.3.2 输出运算符“”
2.4 PHP编码规范
2.4.1 什么是编码规范
2.4.2 PHP书写规则
2.4.3 PHP命名规则
小结
上机指导
习题
第1章 PHP入门与环境搭建
1.1 PHP概述
1.1.1 PHP是什么
1.1.2 PHP语言的优势
1.1.3 PHP的版本
1.1.4 HTML嵌入式的脚本语言
1.2 PHP程序的工作流程
1.2.1 PHP的工作流程
1.2.2 PHP服务器
1.3 PHP开发环境构建
1.3.1 PHP开发环境的安装
1.3.2 PHP服务器的启动与停止
1.3.3 PHP开发环境的关键配置
1.4 常用代码编辑工具
1.5 第一个PHP程序
实例:用Dreamweaver开发一个简单的PHP程序,输出一段欢迎信息
小结
上机指导
习题
第2章 PHP开发基础
2.1 PHP基本语法
2.1.1 PHP标记符
2.1.2 PHP注释
2.1.3 PHP语句和语句块
2.2 PHP的数据类型
2.2.1 标量数据类型
实例:布尔值的应用
实例:应用单引号和双引号来输出同一个变量
实例:应用定界符定义字符串并输出
实例:分别输出定义的十进制、八进制和十六进制变量
实例:输出圆周率的近似值
2.2.2 复合数据类型
实例:创建数组并输出数组中的值
2.2.3 特殊数据类型
2.2.4 检测数据类型
实例:检测相应的数据类型
2.3 PHP数据的输出
2.3.1 print和echo
2.3.2 输出运算符“”
2.4 PHP编码规范
2.4.1 什么是编码规范
2.4.2 PHP书写规则
2.4.3 PHP命名规则
小结
上机指导
习题
第3章 运算符和表达式
3.1 常量
3.1.1 自定义常量
实例:通过函数对常量进行定义、获取和判断
3.1.2 预定义常量
实例:使用预定义常量输出PHP信息
3.2 变量
3.2.1 变量的概念
3.2.2 定义和使用变量
实例:定义整型变量、布尔型变量和空字符串
3.2.3 变量的赋值方式
实例:使用传值赋值方式为变量赋值
实例:使用引用赋值方式为变量赋值
3.2.4 可变变量
实例:应用可变变量实现动态改变变量的名称
3.2.5 PHP预定义变量
3.3 PHP运算符
3.3.1 算术运算符
实例:算术运算符的简单应用
3.3.2 字符串运算符
实例:“.”和“+”之间的区别
3.3.3 赋值运算符
实例:应用赋值运算符为指定变量赋值
3.3.4 位运算符
实例:对变量的值进行位运算
3.3.5 递增或递减运算符
实例:应用递增和递减运算符对变量进行操作
3.3.6 逻辑运算符
实例:对布尔值进行逻辑运算
3.3.7 比较运算符
实例:通过不同的比较运算符将变量$value与数字100进行比较,再应用var_dump函数输出比较结果
3.3.8 条件运算符
实例:应用条件运算符实现简单的判断功能
3.3.9 运算符优先级
3.4 表达式
3.5 数据类型的转换
3.5.1 自动转换
实例:对不同类型的数据进行不同的运算
3.5.2 强制转换
实例:将一个字符串型变量分别转换成其他数据类型
实例:将一个字符串型变量使用以val结尾的函数进行转换
实例:使用settype()函数对变量进行不同类型的转换
小结
上机指导
习题
第4章 流程控制语句
4.1 条件判断语句
4.1.1 if语句
实例:判断变量的值是否为真
4.1.2 if...else语句
实例:根据不同的结果显示不同的字符串
实例:判断学生的考试情况
4.1.3 switch语句
实例:根据不同的星期输出不同的贴心提醒警句
4.2 循环控制语句
4.2.1 while循环语句
实例:输出10以内的偶数
4.2.2 do...while循环语句
实例:比较while语句和do...while语句的不同点
4.2.3 for循环语句
实例:计算2~100之间所有偶数之和
4.2.4 foreach循环
实例:输出购物车中的商品信息
4.2.5 循环结构的应用
实例:制作乘法口诀表
4.3 跳转语句和终止语句
4.3.1 continue语句
实例:计算1到100之间所有奇数的和
4.3.2 break语句
实例:应用for循环控制语句声明变量$i,循环输出表情头像
4.3.3 exit语句
小结
上机指导
习题
第5章 PHP数组
5.1 数组概述
5.1.1 数组是什么
5.1.2 数组的类型
5.2 创建一维数组
5.2.1 通过数组标识符“[]”
创建数组
实例:通过数组标识符“[]”声明数组
5.2.2 使用array()函数创建数组
实例:应用array()函数声明数组
5.3 创建二维数组
5.3.1 通过数组标识符“[]”创建
二维数组
实例:通过数组标识符“[]”创建一个二维数组,并输出数组的结构
5.3.2 使用array()函数创建二维数组
实例:应用array()函数声明二维数组
5.4 遍历与输出数组
5.4.1 遍历数组
实例:通过foreach语句遍历二维数组中的数据
实例:通过数组函数list()和each()遍历数组
5.4.2 输出数组
实例:通过print_r()函数输出数组结构
实例:通过var_dump()函数输出数组的结构
5.5 数组函数及其应用
5.5.1 创建数组的函数
实例:应用range()函数建立数组
实例:应用array_combine()函数来合并两个数组
实例:应用array_fill()函数来建立一个数组
实例:应用array_pad()函数填补数组
实例:应用explode()函数对指定的字符串以@为分隔符进行拆分,并输出返回的数组
5.5.2 数组统计函数
实例:应用count()函数统计数组中元素个数
实例:应用max()函数获取数组中元素的最大值
实例:应用min()函数获取数组中元素的最小值
实例:应用array_sum()函数计算数组的和
实例:应用array_count_values()函数来统计数组的值
5.5.3 数组指针函数
实例:应用key()函数和current()函数获取数组中当前元素的键名和值
实例:应用next()函数向前移动数组指针并输出单元值
实例:应用end()函数将数组指针移动到最后
实例:应用prev()函数向后移动数组指针并输出单元值
实例:应用reset()函数将数组的当前指针返回到数组的第一个单元
5.5.4 数组和变量之间的转换
实例:应用extract()函数将数组元素转换为变量并输出
实例:应用compact()函数将定义的变量生成一个数组
5.5.5 数组检索函数
实例:应用array_keys()函数来检查数组中的键名
实例:应用array_values()函数返回指定数组的所有值
实例:应用in_array()函数在数组中搜索给定的值
实例:应用array_search()函数搜寻数字60是否在数组中
实例:应用array_key_exists()函数来查找字符串索引“php”是否在数组中
实例:应用array_unique()函数删除数组中重复的元素
5.5.6 数组排序函数
实例:应用sort()函数为数组进行排序
实例:应用asort()函数对输入的数组进行排序
实例:应用rsort()和arsort()函数对输入的数组进行降序排序
实例:应用ksort()和krsort()函数对输入的数组进行排序
实例:应用natsort()和natcasesort()函数对输入的数组进行排序
实例:应用shuffle()函数对输入的数组进行随机排序
实例:应用array_reverse()函数将数组元素的顺序反转
5.5.7 数组与数据结构
实例:应用array_push()函数向数组中添加元素
实例:应用array_pop()函数弹出数组最后一个元素
实例:应用array_shift()函数弹出数组的第一个元素
实例:应用array_unshift()函数向数组中添加元素,并输出添加元素后的数组
5.5.8 数组集合函数
实例:应用array_merge()函数将两个数组合并为一个数组
实例:应用array_diff()函数计算两个数组的差集
实例:应用array_diff_assoc()函数来检查两个数组的差集
实例:应用array_diff_key()函数来获取两个数组的差集
实例:应用array_intersect()函数来获取两个数组的交集
实例:应用array_intersect_assoc()函数来获取两个数组的交集
实例:应用array_intersect_key()函数来获取两个数组的交集
小结
上机指导
习题
第6章 PHP与Web页面交互
6.1 表单数据的提交方式
6.1.1 GET方法提交表单数据
实例:创建表单,指定method属性值为“GET”
6.1.2 POST方法提交表单数据
实例:应用POST方法提交表单信息到服务器
6.1.3 使用POST方法与GET方法
的区别
6.2 应用PHP全局变量获取表单数据
6.2.1 $_POST[]全局变量
实例:通过$_POST[]获取用户输入的信息
6.2.2 $_GET[]全局变量
6.3 使用表单
6.3.1 创建表单
6.3.2 表单元素
6.3.3 使用数组提交表单数据
6.3.4 表单综合应用
实例:应用$_POST[ ]全局变量获取用户输入的个人信息
6.4 实现文件的上传
6.4.1 上传文件相关配置
6.4.2 全局变量$_FILES
实例:实现一个上传文件域,通过$_FILES变量输出上传文件的资料
6.4.3 实现PHP文件的上传
实例:创建上传表单,允许上传图片文件
6.5 服务器端获取数据的其他方法
6.5.1 $_REQUEST[ ]全局变量
6.5.2 $_SERVER[ ]全局变量
实例:应用$_SERVER[ ]全局变量获取脚本所在地的IP地址及服务器和客户端的相关信息
小结
上机指导
习题
第7章 函数
7.1 函数简介
7.1.1 什么是函数
7.1.2 函数的分类
7.2 自定义函数
7.2.1 自定义函数的定义
7.2.2 自定义函数的调用
实例:定义一个函数并调用
7.2.3 自定义函数的参数
实例:为定义的函数传递参数,按值传递方式
实例:为定义的函数传递参数,按引用传递方式
实例:应用可选参数实现一个简单的价格计算功能
7.2.4 自定义函数的返回值
实例:应用return()函数返回一个操作数
7.2.5 变量的作用域
实例:在自定义函数中应用全局变量与局部变量进行对比
实例:静态变量和普通变量的比较
7.2.6 变量函数
实例:定义并使用变量函数
7.3 PHP文件的引用
7.3.1 include语句
实例:应用include语句引用文件
7.3.2 require语句
实例:应用require语句引用文件
7.3.3 include语句和require语句
的比较
7.3.4 include_once语句和
require_once语句
实例:应用include_once语句引用并运行指定的外部文件top.php
7.3.5 应用include语句构建电子
商务平台网首页
实例:应用include语句引用外部文件来构建电子商务平台网首页
小结
上机指导
习题
第8章 字符串操作
8.1 字符串的定义方法
8.1.1 使用单引号或双引号定义
字符串
8.1.2 使用定界符定义字符串
实例:使用定界符定义字符串并输出
8.2 字符串处理函数
8.2.1 转义、还原字符串
实例:使用转义字符“\”对字符串进行转义
实例:用自动转义字符addslashes()函数对字符串进行转义,然后应用stripslashes()函数进行还原
实例:应用addcslashes()函数对字符串“编程体验网”进行转义,应用stripcslashes()函数对转义的字符串进行还原
8.2.2 获取字符串长度
实例:应用strlen()函数获取字符串长度
实例:应用strlen()函数对提交的用户密码的长度进行检测
8.2.3 截取字符串
实例:应用substr()函数截取超长字符串
实例:应用mb_substr()函数对字符串“PHP自学视频教程”截取5个字节
8.2.4 比较字符串
实例:应用strcmp()和strcasecmp()函数对两个字符串按字节进行比较
实例:应用strnatcmp()函数按自然排序法进行字符串的比较
实例:应用strncmp()函数比较字符串的前6个字符是否与源字符串相等
8.2.5 检索字符串
实例:应用strstr()函数检索字符串
实例:使用substr_count()函数获取子串在字符串中出现的次数
8.2.6 替换字符串
实例:应用str_ireplace()函数将字符串中的子串替换为指定字符串
实例:使用str_ireplace()函数替换查询关键字
实例:使用substr_replace()函数将指定字符串中的子串替换为指定字符串
8.2.7 去掉字符串首尾空格和特
殊字符
实例:使用ltrim()函数去除字符串左边的空白字符及特殊字符
实例:使用rtrim()函数去除字符串右边的空白字符及特殊字符
实例:使用trim()函数去除字符串左右两边的空白字符及特殊字符
8.2.8 格式化字符串
实例:应用number_format()函数对指定的数字字符串进行格式化处理
8.2.9 分割、合成字符串
实例:应用explode()函数对字符串以指定分隔符进行拆分
实例:应用implode()函数将数组中的内容以*为分隔符进行连接
8.2.10 字符串与HTML转换
实例:使用htmlentities()函数将字符串转换成HTML格式
8.2.11 其他常用字符串函数
实例:将字符串前后颠倒顺序后显示
实例:应用str_repeat()函数重复输出字符串
小结
上机指导
习题
第9章 MySQL数据库
9.1 MySQL简介
9.1.1 什么是MySQL
9.1.2 MySQL特点
9.1.3 MySQL 5支持的特性
9.2 启动和关闭MySQL服务器
9.2.1 启动MySQL服务器
9.2.2 连接和断开MySQL服务器
9.3 操作MySQL数据库
9.3.1 创建数据库
9.3.2 选择数据库
9.3.3 查看数据库
9.3.4 删除数据库
9.4 MySQL数据类型
9.4.1 数字类型
9.4.2 字符串类型
9.4.3 日期和时间类型
9.5 操作数据表
9.5.1 创建数据表
9.5.2 查看表结构
9.5.3 修改表结构
9.5.4 重命名数据表
9.5.5 删除数据表
9.6 数据表记录的更新操作
9.6.1 数据表记录的添加
9.6.2 数据表记录的修改
9.6.3 数据表记录的删除
9.7 数据表记录的查询操作
9.8 MySQL中的特殊字符
9.9 MySQL数据库的备份与还原
9.9.1 使用mysqldump命令备份数
据库
9.9.2 使用mysql命令还原数据库
小结
上机指导
习题
第10章 PHP操作MySQL数据库
10.1 PHP操作MySQL数据库的方法
10.1.1 连接MySQL服务器
实例:应用mysqli_connect()函数创建与MySQL服务器的连接
10.1.2 选择MySQL数据库
实例:使用mysqli_select_db()函数选择指定名称的数据库
10.1.3 执行SQL语句
10.1.4 将结果集返回数组中
实例:利用mysqli_fetch_array()函数读取数据表中的数据
10.1.5 从结果集中获取一行作为
对象
实例:应用mysqli_fetch_object()函数逐行获取结果集中的记录
10.1.6 从结果集中获取一行作为
枚举数组
实例:应用mysqli_fetch_row()函数逐行获取结果集中的记录
10.1.7 从结果集中获取一行作为
关联数组
实例:应用mysqli_fetch_assoc()函数逐行获取结果集中的记录
10.1.8 获取查询结果集中的记
录数
实例:应用mysqli_fetch_row()函数逐行获取结果集中的记录,同时应用mysqli_ num_rows()函数获取结果集中行的数目
10.1.9 释放内存
10.1.10 关闭连接
10.1.11 连接与关闭MySQL服务器的最佳时机
10.2 管理MySQL数据库中的数据
10.2.1 添加数据
实例:向图书信息表中添加一条记录
10.2.2 编辑数据
实例:实现对数据的更新操作
10.2.3 删除数据
实例:删除数据表中的指定记录
10.2.4 批量数据操作
实例:批量删除数据
10.2.5 在电子商务平台网后台中
查看订单和删除订单
实例:查看多个用户的订单信息,删除多个订单
小结
上机指导
习题
第11章 PHP会话控制
11.1 Session的操作
11.1.1 了解Session
11.1.2 启动Session
11.1.3 注册Session
实例:创建Session变量并赋予空值
11.1.4 使用Session
实例:应用全局数组将数据保存到Session中,并输出数据
11.1.5 删除Session
11.1.6 Session综合应用
实例:通过Session控制用户对页面的访问权限
11.1.7 电子商务平台网用户管理
和权限控制
11.2 Cookie的操作
11.2.1 浏览器中的Cookie设置
11.2.2 了解Cookie
11.2.3 创建Cookie
实例:通过setcookie()函数创建Cookie
11.2.4 读取Cookie
实例:通过全局数组$_COOKIE[]读取Cookie的值
实例:应用isset()函数检测Cookie变量
11.2.5 删除Cookie
11.2.6 创建Cookie数组
实例:Cookie数组,并读取数组的值
11.3 Session与Cookie的比较
小结
上机指导
习题
第12章 面向对象基础
12.1 面向对象的基本概念
12.1.1 类
12.1.2 对象
12.1.3 面向对象的特点
12.2 类的声明
12.2.1 定义类
12.2.2 成员属性
12.2.3 成员常量
12.2.4 成员方法
12.3 类的实例化
12.3.1 对象的创建
12.3.2 访问类中的成员
实例:定义Student类并对其实例化
12.3.3 “$this”操作符
实例:调用类中的常量和方法
12.3.4 构造方法和析构方法
实例:在数据库连接类Mysql中通过__construct()声明构造方法
12.4 面向对象的封装
12.4.1 公共成员关键字public
12.4.2 私有成员关键字private
实例:private关键字的使用
12.4.3 保护成员关键字protected
实例:protected关键字的使用
12.5 面向对象的继承
12.5.1 继承关键字extends
实例:类的继承操作
12.5.2 “::”操作符
实例:使用类名、parent关键字和self关键字来调用常量和方法
12.5.3 覆盖父类方法
实例:在子类中创建一个与父类方法同名的方法,实现方法的重写
12.6 static关键字
12.6.1 静态属性
12.6.2 静态方法
实例:调用类中的静态方法
12.7 抽象类和接口
12.7.1 抽象类
实例:创建并实例化抽象类
12.7.2 接口
实例:声明接口,在子类中继承接口并声明在接口中定义的方法,最后实例化子类,调用子类中的方法
12.8 面向对象实现多态
12.8.1 通过继承实现多态
实例:创建抽象类,然后让子类继承这个类
12.8.2 通过接口实现多态
实例:定义接口并定义一个空方法。然后定义不同子类继承接口。最后通过instanceof关键字检查对象是否属于接口
12.9 面向对象的其他关键字
12.9.1 final关键字
12.9.2 clone关键字
实例:在对象中创建__clone()方法并克隆对象
12.9.3 instanceof关键字
12.10 面向对象的常用魔术方法
12.10.1 __set()和__get()方法
12.10.2 __isset()和__unset()方法
12.10.3 __call()方法
实例:声明类MrSoft,包含两个方法:MingRi()和__call()。类实例化后,调用一个不存在的方法MingR(),看魔术方法__call()的妙用
12.10.4 __toString()方法
实例:定义类,应用__toString()方法输出类的实例化对象
12.10.5 __autoload()方法
实例:在文件中创建__autolaod()方法,判断类文件是否存在
小结
上机指导
习题
第13章 Ajax技术
13.1 Ajax概述
13.1.1 什么是Ajax
13.1.2 Ajax的开发模式
13.1.3 Ajax的优点
13.2 Ajax技术的组成
13.2.1 JavaScript脚本语言
13.2.2 XMLHttpRequest对象
实例:通过XMLHttpRequest对象读取HTML文件
13.2.3 XML、DOM和CSS
13.3 Ajax与PHP的交互
13.3.1 通过GET方式与PHP进行
交互
实例:应用Ajax技术查询数据表中的数据
13.3.2 通过POST方式与PHP进
行交互
实例:应用Ajax技术向数据表中添加数据
13.3.3 在电子商务平台网中应用Ajax技术检测用户名
实例:在用户注册页面中,使用Ajax技术对用户录入信息进行校验
13.4 Ajax开发注意事项
小结
上机指导
习题
第14章 综合案例——电子商务平台网
14.1 开发背景
14.2 系统分析
14.2.1 需求分析
14.2.2 可行性分析
14.3 系统设计
14.3.1 系统目标
14.3.2 系统功能结构
14.3.3 购物流程图
14.3.4 系统预览
14.3.5 开发环境
14.3.6 文件夹组织结构
14.4 数据库设计
14.4.1 数据库分析
14.4.2 数据库概念设计
14.4.3 创建数据库及数据表
14.5 公共模块设计
14.5.1 数据库连接文件
14.5.2 CSS样式表文件
14.6 前台首页设计
14.6.1 前台首页概述
14.6.2 前台首页技术分析
14.6.3 前台首页的实现过程
14.7 商品展示模块设计
14.7.1 商品展示模块概述
14.7.2 商品展示模块技术分析
14.7.3 商品分类展示的实现过程
14.7.4 最新商品展示的实现过程
14.7.5 查看商品详细信息的实现过程
14.8 购物车模块设计
14.8.1 网站购物车概述
14.8.2 网站购物车技术分析
14.8.3 添加至购物车的实现过程
14.8.4 查看购物车的实现过程
14.8.5 从购物车中移去指定商品的实现过程
14.8.6 修改商品购买数量的实现过程
14.8.7 清空购物车的实现过程
14.8.8 收银台结账的实现过程
14.8.9 生成商品订单的实现过程
14.9 后台首页设计
14.9.1 后台首页概述
14.9.2 后台首页技术分析
14.9.3 后台首页的实现过程
14.10 客户订单信息管理模块设计
14.10.1 客户订单信息管理模块概述
14.10.2 客户订单信息管理模块技术分析
14.10.3 查看客户订单信息的实现过程
14.10.4 执行客户订单信息的实现过程
14.10.5 打印客户订单信息的实现过程
14.10.6 查找客户订单信息的实现过程
小结
第15章 课程设计——留言本
15.1 留言本模块概述
15.1.1 模块概述
15.1.2 功能结构
15.2 数据库设计
15.2.1 数据库设计
15.2.2 数据表设计
15.2.3 连接数据库
15.3 发表留言
15.3.1 发表留言概述
15.3.2 发表留言页面设计
15.3.3 将用户留言内容保存到数据库中
15.4 查看留言
15.4.1 查看留言概述
15.4.2 查看留言页面设计
15.4.3 在页面中输出留言信息
15.4.4 将留言信息进行分页显示
15.5 修改留言
15.5.1 修改留言概述
15.5.2 修改留言页面设计
15.5.3 编辑留言内容功能实现
15.6 删除留言
15.6.1 删除留言概述
15.6.2 删除留言页面设计
15.6.3 删除留言内容功能实现
15.7 查询留言
15.7.1 查询留言概述
15.7.2 查询留言页面设计
15.7.3 查询留言内容
15.8 技术提炼
15.8.1 将数据保存到数据库中
15.8.2 通过JavaScript实现弹出窗口
15.8.3 包含文件函数
15.8.4 MySQL数据库的函数
小结
附录 单独安装PHP环境搭建
附1.1 搭建PHP开发环境的准备工作
附1.1.1 在Windows下搭建PHP
开发环境的准备工作
附1.1.2 在Linux下搭建PHP开发
环境的准备工作
附1.2 Apache服务器的安装和配置
附1.2.1 在Windows下安装Apache
服务器
附1.2.2 在Linux下安装Apache
服务器
附1.3 PHP的安装和配置
附1.3.1 在Windows下安装PHP
附1.3.2 在Linux下安装PHP
附1.4 MySQL服务器的安装和配置
附1.4.1 在Windows下安装MySQL
服务器
附1.4.2 在Linux下安装MySQL
服务器
附1.5 环境安装常见问题
附1.5.1 Apache安装常见问题
附1.5.2 PHP安装常见问题
附1.5.3 MySQL安装常见问题