第1章 PHP开发环境 1
1.1 PHP简介 1
1.1.1 静态网页和动态网页 1
1.1.2 动态网页设计技术 2
1.1.3 PHP语言的特点 2
1.2 集成开发环境配置 3
1.2.1 WampServer简介 3
1.2.2 WampServer安装 4
1.2.3 WampServer配置 7
1.2.4 PHP编辑器 8
1.3 典型PHP程序实例 9
1.3.1 在Dreamweaver中创建PHP站点 9
1.3.2 最简单的PHP程序 10
1.3.3 同一页面上的PHP交互 11
1.3.4 不同页面上的PHP交互 12
1.4 项目实训 13
实训1 在Dreamweaver中创建PHP站点 13
实训2 创建一个PHP网页 13
思考与练习 14
第2章 PHP语言基础 15
2.1 PHP入门 15
2.2 PHP数据类型 17
2.2.1 整型 17
2.2.2 浮点型 17
2.2.3 字符串型 17
2.2.4 布尔型 18
2.2.5 数组 18
2.2.6 对象 18
2.2.7 NULL类型 18
2.2.8 资源类型 19
2.3 PHP变量 19
2.3.1 自定义变量 19
2.3.2 预定义变量 21
2.3.3 外部变量 22
2.4 运算符与表达式 23
2.5 程序流程控制 26
2.5.1 条件控制语句 26
2.5.2 循环控制语句 28
2.5.3 跳转语句 30
2.5.4 文件包含语句 30
2.6 PHP函数 30
2.6.1 函数的定义 30
2.6.2 函数的返回值 31
2.6.3 函数的调用 31
2.6.4 参数的传递 32
2.7 综合实例 33
2.7.1 多项选择题 33
2.7.2 计算器程序 34
2.8 项目实训 35
实训1 条件控制语句的应用 35
实训2 循环控制语句的应用 36
思考与练习 36
第3章 PHP数组与字符串 38
3.1 数组及处理 38
3.1.1 数组的创建和初始化 38
3.1.2 键名和值的操作 41
3.1.3 数组的排序 43
3.2 字符串操作 44
3.2.1 常用的字符串函数 45
3.2.2 字符串与HTML 46
3.2.3 其他字符串函数 47
3.3 正则表达式 48
3.3.1 基础知识 48
3.3.2 正则表达式在JavaScript中的应用 50
3.3.3 正则表达式在PHP中的应用 50
3.4 项目实训 54
实训1 数组和循环嵌套 54
实训2 正则表达式的应用 54
思考与练习 55
第4章 PHP面向对象程序设计 56
4.1 基本概念 56
4.2 类与对象 57
4.2.1 创建类 57
4.2.2 类的属性和方法 57
4.2.3 构造函数和析构函数 58
4.2.4 创建对象 59
4.3 类的继承 60
4.3.1 子类的创建 60
4.3.2 方法覆盖 61
4.4 抽象类与接口 62
4.4.1 抽象类 62
4.4.2 接口 63
4.5 实例——设计一个学生类 64
4.6 项目实训——设计一个盒子类 65
思考与练习 66
第5章 构建PHP互动网页 67
5.1 PHP与表单 67
5.1.1 获取表单数据的方法 67
5.1.2 实例——使用PHP脚本验证表单数据 68
5.2 URL处理 71
5.2.1 获取URL参数值 71
5.2.2 解析URL 72
5.2.3 URL编码和解码 72
5.3 页面跳转 73
5.3.1 在PHP脚本中实现页面跳转 73
5.3.2 在HTML标记中实现页面跳转 73
5.3.3 在JavaScript脚本中实现页面跳转 74
5.4 在PHP中嵌入JavaScript 75
5.4.1 JavaScript简介 75
5.4.2 JavaScript语句 76
5.4.3 JavaScript内置对象 77
5.4.4 window对象的方法 77
5.4.5 window对象的子对象 80
5.4.6 实例——使用JavaScript脚本验证表单数据 81
5.5 会话管理 84
5.5.1 会话的工作原理 85
5.5.2 实现会话 85
5.5.3 Session的应用 87
5.6 项目实训 87
实训1 使用PHP脚本验证表单数据 87
实训2 使用JavaScript脚本验证表单数据 88
实训3 会话超时 88
思考与练习 89
第6章 MySQL数据库基础 90
6.1 MySQL基础知识 90
6.1.1 MySQL简介 90
6.1.2 MySQL数据对象 91
6.1.3 MySQL数据类型 91
6.2 使用Navicat_Premium创建和管理数据库 92
6.2.1 数据库的创建和删除 93
6.2.2 创建数据表 94
6.2.3 数据库的复制 95
6.3 使用Navicat_Premium编辑T-SQL语句 95
6.3.1 编辑T-SQL语句的步骤 95
6.3.2 使用局部变量 96
6.3.3 流程控制语句 97
6.4 使用Navicat_Premium创建存储过程 98
6.4.1 使用查询编辑器创建存储过程 98
6.4.2 使用函数向导创建存储过程 100
6.5 使用Navicat_Premium创建触发器 102
6.5.1 触发器的分类 102
6.5.2 创建和使用触发器 102
6.6 项目实训 104
实训1 MySQL数据库和表的创建 104
实训2 使用MySQL编写T-SQL程序 105
实训3 MySQL存储过程的创建和调用 105
实训4 MySQL触发器的创建和应用 105
思考与练习 105
第7章 PHP访问MySQL数据库 107
7.1 PHP访问MySQL的基本流程 107
7.1.1 连接MySQL服务器 108
7.1.2 选择数据库 108
7.1.3 执行SQL语句 108
7.1.4 关闭连接 109
7.2 处理结果集 109
7.2.1 从结果集中获取记录 109
7.2.2 其他MySQL函数 111
7.3 结果集的分页 113
7.4 项目实训 115
实训1 对数据表进行插入操作 115
实训2 将指定的数据表以表格形式显示在网页中 115
实训3 将任意一个数据表以表格形式显示在网页中 115
思考与练习 116
第8章 PHP常用功能模块 117
8.1 目录与文件操作 117
8.1.1 目录操作 117
8.1.2 文件的打开与关闭 120
8.1.3 文件的写入 120
8.1.4 文件的读取 121
8.1.5 文件的上传与下载 124
8.1.6 其他常用文件函数 126
8.1.7 实例——投票统计 128
8.2 日期和时间 130
8.2.1 UNIX时间戳 130
8.2.2 时间转化为时间戳 130
8.2.3 获取日期和时间 131
8.2.4 其他日期和时间函数 133
8.2.5 实例——生成日历 134
8.3 图形处理 135
8.3.1 安装PHP图像库 135
8.3.2 创建图形 135
8.3.3 绘制图形 137
8.3.4 图形的具体操作 143
8.3.5 其他的图形函数 145
8.3.6 实例——自动生成验证码 146
8.4 项目实训 148
实训1 删除指定路径中的非空文件夹 148
实训2 文件的上传 148
实训3 将服务器的日期、时间、星期几信息显示在网页中 149
思考与练习 149
第9章 PHP安全编程 150
9.1 安全配置PHP 150
9.1.1 安全模式的配置 150
9.1.2 其他与安全有关的参数配置 151
9.1.3 Apache的降权运行 152
9.2 SQL注入攻击与防范 153
9.2.1 SQL注入攻击原理及特点 153
9.2.2 SQL注入攻击的方法 154
9.2.3 SQL注入攻击的检测 154
9.2.4 SQL注入攻击的防范 155
9.3 跨站脚本攻击 156
9.3.1 跨站脚本攻击概述 156
9.3.2 跨站脚本攻击的实例 156
9.3.3 防范跨站脚本攻击的方法 157
9.4 身份认证系统的制作 157
9.4.1 PHP的加密函数 157
9.4.2 用户注册模块的实现 158
9.4.3 用户登录模块的实现 160
9.5 项目实训——修改密码模块的实现 161
思考与练习 162
第10章 学生学籍成绩管理系统开发实例 163
10.1 系统需求分析 163
10.2 数据库设计 164
10.3 系统配置和数据库连接 166
10.4 系统管理员子系统的实现 173
10.4.1 教师管理 173
10.4.2 班级管理 181
10.4.3 学生学籍管理 190
10.4.4 课程设置管理 200
10.4.5 开课表管理 209
10.4.6 学生成绩统计 221
10.5 任课教师子系统的实现 226
10.5.1 学生学籍查询 226
10.5.2 学生成绩管理 230
10.6 学生子系统的实现 236
思考与练习 239
附录 思考与练习答案 240
参考文献 244