微信扫一扫,移动浏览光盘
简介
杨明等的《学通PHP的24堂课》以24堂课的形式,从初中级用户的角度
出发,突出学、练、用相结合,用科学合理的设计全面讲述了使用PHP进行
程序开发的必备知识和技能,突出学、练、用相结合。主要包括PHP概述、
PHP基础、PHP函数、PHP流程控制语句、PHP数组应用、PHP与Web页面交互
、MySQL数据库技术、PHP数据库编程技术、Cookie与会话控制、字符串高
级处理技术、日期和时间的处理技术、图形图像处理技术、文件目录处理
技术、面向对象的程序设计、PHP与XML技术、PDO数据库抽象层、Smarty模
板技术、Zend Framework框架、PHP的安全与防护、PHP的字符编码、程序
调试与错误处理、应用Smarty模板开发电子商务网站、Zend Framework框
架开发明日搜索引擎和学校图书馆管理系统。
《学通PHP的24堂课》适合有志于从事软件开发的初学者、高校计算机
相关专业学生和毕业生,也可作为软件开发人员的参考手册,或者高校的
教学参考书。
本书通过教学视频、实例训练、综合应用、项目实践、自我测试、行
动指南逐步深入和强化训练等方式,并辅之以心理励志,来持续激发读者
主动学习、自发学习。
本书给出了368个小型实例,226个综合应用,6个项目案例(部分在光
盘中),各类技巧、试验200余个,测试题目210个,以方便读者训练、测
试和快速提升。
本书DVD光盘给出了130集(423段)多媒体教学视频讲解,每个实例都
给出了相应的源程序,可直接复制源码学习或应用。
目录
《学通php的24堂课》
第1部分 基础篇
第1堂课 php概述 3
视频讲解:110分钟
1.1 怎样学好php 4
1.1.1 什么是php 4
1.1.2 php的优势 4
1.1.3 如何学好编程 6
1.1.4 下载php及相关软件 7
1.1.5 代码编辑工具 8
1.1.6 下载php用户手册 9
1.2 环境的搭建 9
1.2.1 appserv——windows版php集成化
安装包 9
1.2.2 xampp——linux版php集成化
安装包 11
1.3 php开发环境的关键配置信息 13
1.3.1 apache服务器的基本配置 13
1.3.2 php.ini文件的基本配置 13
1.4 解决php的常见配置问题 14
.1.4.1 解决apache服务器端口冲突 15
1.4.2 设置php的系统当前时间 15
1.4.3 增加php扩展模块 15
1.5 照猫画虎——基本功训练 15
1.5.1 基本功训练1——测试php环境是否
搭建成功 15
1.5.2 基本功训练2——第一次登录phpmyadmin
图形化管理工具 16
1.5.3 基本功训练3——浏览php环境
配置说明 16
1.5.4 基本功训练4——解析php环境搭建的
四大目录 17
1.5.5 基本功训练5——编辑第一个php程序 18
1.6 情景应用——拓展与实践 19
1.6.1 情景应用1——输出系统的当前时间 19
1.6.2 情景应用2——输出“明日科技
欢迎您!” 20
1.6.3 情景应用3——输出一个漂亮的图片 20
1.6.4 情景应用4——更改apache服务器的
端口号为82 21
1.6.5 情景应用5——apache端口号修改后运行
第一个php程序 21
1.7 自我测试 22
1.8 行动指南 23
1.9 成功可以复制——php开山鼻祖
rasmus lerdorf 24
第2堂课 php基础 25
视频讲解:140分钟
2.1 php工作原理 26
2.2 php标记 27
2.3 代码注释 27
2.3.1 使用php注释 27
2.3.2 有效使用注释 28
2.4 php常量 29
2.4.1 声明和使用常量 29
2.4.2 预定义常量 30
2.5 php变量 31
2.5.1 声明变量 31
2.5.2 变量作用域 33
2.5.3 可变变量 35
2.6 php数据类型 35
2.6.1 标量数据类型 35
2.6.2 复合数据类型 38
2.6.3 特殊数据类型 39
2.6.4 转换数据类型 39
2.6.5 检测数据类型 40
2.7 php的运算符 41
2.7.1 算术运算符 41
2.7.2 字符串运算符 42
2.7.3 赋值运算符 42
2.7.4 位运算符 43
2.7.5 递增或递减运算符 43
2.7.6 逻辑运算符 44
2.7.7 比较运算符 45
2.7.8 三元运算符 46
2.7.9 运算符的使用规则 46
2.8 照猫画虎——基本功训练 47
2.8.1 基本功训练1——获取当前执行
文件名称 47
2.8.2 基本功训练2——加法计算器 48
2.8.3 基本功训练3——输出姚明的个人信息 48
2.8.4 基本功训练4——比较某一天的产品
销量 49
2.8.5 基本功训练5——根据工资多少判断
购物地点 50
2.9 情景应用——拓展与实践 50
2.9.1 情景应用1——在留言板中输出系统
当前时间 50
2.9.2 情景应用2——根据奇偶天数安排
工作任务 51
2.9.3 情景应用3——计算长方形的面积 52
2.9.4 情景应用4——检测变量是否为整型 52
2.9.5 情景应用5——通过数据递增运算
统计网站访问量 53
2.9.6 情景应用6——输出学生的考试成绩 54
2.10 自我测试 54
2.11 行动指南 55
2.12 成功可以复制——杀毒王
王江民 56
第3堂课 php函数 59
视频讲解:100分钟
3.1 php函数介绍 60
3.1.1 定义和调用函数 60
3.1.2 在函数间传递参数 60
3.1.3 从函数中返回值 62
3.1.4 变量函数 62
3.1.5 对函数的引用 63
3.1.6 取消引用 63
3.2 php变量函数库 64
3.3 php字符串函数库 65
3.4 php日期时间函数库 66
3.5 php数学函数库 67
3.6 php文件系统函数库 68
3.7 mysql函数库 70
3.8 照猫画虎——基本功训练 71
3.8.1 基本功训练1——判断用户提交用户名
是否为空 71
3.8.2 基本功训练2——打印输出员工的
个人信息 72
3.8.3 基本功训练3——输出公司的企业文化 72
3.8.4 基本功训练4——计算密码长度 73
3.8.5 基本功训练5——验证输入时间是否
有效 73
3.8.6 基本功训练6——获取商品销量的
最高值 74
3.8.7 基本功训练7——读取文本文件中的
数据 75
3.9 情景应用——拓展与实践 76
3.9.1 情景应用1——控制帖子标题的输出
长度 76
3.9.2 情景应用2——去除用户填写注册
信息中的空格 77
3.9.3 情景应用3——对关键字进行描红 78
3.9.4 情景应用4——网页闹钟 79
3.9.5 情景应用5——幸运数字抽奖 80
3.9.6 情景应用6——数字验证码 80
3.9.7 情景应用7——文本文件统计网站
访问量 81
3.9.8 情景应用8——购物车中商品的输出 83
3.9.9 情景应用9——中文图像验证码 83
3.10 自我测试 84
3.11 行动指南 85
3.12 成功可以复制——缔造华人的
硅谷传奇杨致远 86
第4堂课 php流程控制语句 89
视频讲解:95分钟
4.1 程序的3种控制结构 90
4.1.1 顺序结构 90
4.1.2 选择(分支)结构 90
4.1.3 循环结构 91
4.2 条件控制语句 91
4.2.1 if条件控制语句 92
4.2.2 switch多分支语句 93
4.3 循环控制语句 95
4.3.1 while循环语句 95
4.3.2 do…while循环语句 96
4.3.3 for循环语句 97
4.3.4 foreach循环语句 98
4.4 跳转语句 100
4.4.1 break跳转语句 100
4.4.2 continue跳转语句 101
4.5 包含语句 102
4.5.1 include()语句 103
4.5.2 require()语句 103
4.5.3 include_once()语句 104
4.5.4 require_once()语句 105
4.5.5 include()语句和require()语句的区别 106
4.6 照猫画虎——基本功训练 107
4.6.1 基本功训练1——对与错的判断 107
4.6.2 基本功训练2——for语句计算阶乘 107
4.6.3 基本功训练3——if语句判断闰年 108
4.6.4 基本功训练4——用switch语句计算
商品的折扣价格 108
4.6.5 基本功训练5——向一个循环语句中
发布终止指令 109
4.7 情景应用——拓展与实践 110
4.7.1 情景应用1——使用if语句判断美女
征婚条件 110
4.7.2 情景应用2——使用switch语句定制网页
每日问候语 112
4.7.3 情景应用3——使用while语句循环读取
数组中数据 113
4.7.4 情景应用4——switch网页框架 114
4.7.5 情景应用5——使用for循环语句实现
多图片上传 115
4.8 自我测试 116
4.9 行动指南 118
4.10 成功可以复制——bea创始人
之一庄思浩 119
第5堂课 php数组应用 121
视频讲解:105分钟
5.1 数组概述 122
5.2 数组类型 122
5.3 声明数组 123
5.3.1 用户创建数组 123
5.3.2 函数创建数组 124
5.3.3 创建二维数组 124
5.4 遍历、输出数组 125
5.4.1 遍历数组 125
5.4.2 输出数组元素 128
5.5 php数组函数 128
5.5.1 统计数组元素个数 128
5.5.2 向数组中添加元素 129
5.5.3 获取数组中最后一个元素 129
5.5.4 删除数组中重复元素 129
5.5.5 获取数组中指定元素的键名 130
5.6 php全局数组 131
5.6.1 $_server[ ]全局数组 131
5.6.2 $_get[ ]和$_post[ ]全局数组 132
5.6.3 $_cookie全局数组 133
5.6.4 $_env[ ]全局数组 133
5.6.5 $_request[ ]全局数组 133
5.6.6 $_session[ ]全局数组 134
5.6.7 $_files[ ]全局数组 134
5.7 照猫画虎——基本功训练 134
5.7.1 基本功训练1——输出数组中元素值 134
5.7.2 基本功训练2——遍历数组 135
5.7.3 基本功训练3——foreach语句
遍历数组 135
5.7.4 基本功训练4——将数组元素转换成
字符串 136
5.7.5 基本功训练5——去除数组中重复的
元素 136
5.7.6 基本功训练6——向数组中添加元素 137
5.7.7 基本功训练7——获取服务器端的ip
地址 137
5.8 情景应用——拓展与实践 138
5.8.1 情景应用1——字符串数组排序 138
5.8.2 情景应用2——获取用户注册信息 139
5.8.3 情景应用3——获取上传文件的数据 140
5.8.4 情景应用4——生成在线考试题 140
5.8.5 情景应用5——通过客户端ip地址限制
投票次数 141
5.9 自我测试 142
5.10 行动指南 143
5.11 成功可以复制——迅雷创始人
邹胜龙 144
第6堂课 php与web页面交互 147
视频讲解:225分钟
6.1 表单概述 148
6.1.1 创建表单 148
6.1.2 添加表单元素 148
6.1.3 定义表单数据提交方法 152
6.2 获取表单提交的数据 154
6.2.1 $_get[]获取表单提交数据 154
6.2.2 $_post[]获取表单提交数据 154
6.3 获取超链接传递的数据 155
6.3.1 通过超链接传递数据 156
6.3.2 通过$_get[]获取超级链接传递的数据 156
6.3.3 对超链接传递的数据进行编码、
解码 157
6.4 了解javascript脚本 158
6.4.1 javascript语言基础 158
6.4.2 通过javascript脚本自定义函数 160
6.4.3 javascript脚本嵌入方式 161
6.4.4 javascript常用事件 166
6.5 照猫画虎——基本功训练 167
6.5.1 基本功训练1——设计一个用户登录
表单 167
6.5.2 基本功训练2——验证用户名和密码
不能为空 168
6.5.3 基本功训练3——输出用户登录信息 169
6.5.4 基本功训练4——验证email地址格式
是否正确 171
6.5.5 基本功训练5——验证用户两次输入的
密码是否一致 172
6.6 情景应用——拓展与实践 173
6.6.1 情景应用1——开发一个用户注册表单 173
6.6.2 情景应用2——验证用户注册信息
是否合理 174
6.6.3 情景应用3——限制多行文本域输入的
字符个数 176
6.6.4 情景应用4——设置文本框的只读
属性 178
6.6.5 情景应用5——对超链接传递的数据
进行编码 179
6.7 自我测试 179
6.8 行动指南 180
6.9 成功可以复制——软件业的
华人教父王嘉廉 181
第7堂课 mysql数据库技术 183
视频讲解:155分钟
7.1 mysql概述 184
7.1.1 mysql的特点 184
7.1.2 sql和mysql 184
7.2 mysql服务器的启动和关闭 185
7.2.1 启动mysql服务器 185
7.2.2 连接mysql服务器 186
7.2.3 关闭mysql服务器 187
7.3 操作mysql数据库 187
7.3.1 创建新数据库 187
7.3.2 选择指定数据库 188
7.3.3 删除指定数据库 188
7.4 操作mysql数据表 189
7.4.1 创建一个表 189
7.4.2 查看数据表结构 190
7.4.3 修改数据表结构 191
7.4.4 重命名数据表 192
7.4.5 删除指定数据表 192
7.5 操作mysql数据 193
7.5.1 向数据表中添加数据 193
7.5.2 更新数据表中数据 193
7.5.3 删除数据表中数据 194
7.5.4 查询数据表中数据 194
7.6 mysql数据类型 197
7.6.1 数字类型 197
7.6.2 字符串类型 198
7.6.3 日期和时间数据类型 199
7.7 phpmyadmin管理mysql数据库 200
7.7.1 管理数据库 200
7.7.2 管理数据表 201
7.7.3 管理数据记录 203
7.7.4 导入导出数据 206
7.8 照猫画虎——基本功训练 208
7.8.1 基本功训练1——创建db_book图书
数据库 208
7.8.2 基本功训练2——在db_book数据库中
创建图书信息表tb_mrbook 208
7.8.3 基本功训练3——向tb_mrbook表中添加
数据 209
7.8.4 基本功训练4——修改tb_mrbook表中的
数据 210
7.8.5 基本功训练5——删除tb_mrbook表中
指定数据 210
7.9 情景应用——拓展与实践 211
7.9.1 情景应用1——通过命令模式备份和
恢复数据库 211
7.9.2 情景应用2——mysql的存储过程 213
7.9.3 情景应用3——使用phpmyadmin设置
编码格式 214
7.9.4 情景应用4——通过phpmyadmin添加
服务器新用户 215
7.9.5 情景应用5——在phpmyadmin中重置
mysql服务器登录密码 216
7.10 自我测试 217
7.11 行动指南 218
7.12 成功可以复制——图文世界的
缔造者约翰·沃洛克 219
第8堂课 php数据库编程技术 221
视频讲解:205分钟
8.1 php操作mysql数据库的步骤 222
8.2 php操作mysql数据库的方法 222
8.2.1 mysql_connect()函数连接mysql
服务器 222
8.2.2 mysql_select_db()函数选择mysql
数据库 223
8.2.3 mysql_query()函数执行sql语句 223
8.2.4 mysql_fetch_array()函数将结果集返回到
数组中 224
8.2.5 mysql_fetch_row()函数从结果集中获取
一行作为枚举数组 225
8.2.6 mysql_num_rows()函数获取查询结果
集中的记录数 226
8.2.7 mysql_free_result()函数释放内存 227
8.2.8 mysql_close()函数关闭连接 227
8.3 管理mysql数据库中的数据 228
8.3.1 向数据库中添加数据 228
8.3.2 浏览数据库中的数据 229
8.3.3 编辑数据库中的数据 230
8.3.4 从数据库中删除数据 231
8.3.5 批量数据操作 233
8.4 照猫画虎——基本功训练 234
8.4.1 基本功训练1——连接db_database08
数据库 234
8.4.2 基本功训练2——查询图书信息表中的
前3条记录 235
8.4.3 基本功训练3——对查询结果进行降序
排列输出 236
8.4.4 基本功训练4——更新指定图书的
信息 237
8.4.5 基本功训练5——删除指定的用户
信息 239
8.5 情景应用——拓展与实践 240
8.5.1 情景应用1——用户注册模块 240
8.5.2 情景应用2——用户登录模块 242
8.5.3 情景应用3——浏览注册用户信息 242
8.5.4 情景应用4——查询注册用户 243
8.5.5 情景应用5——修改指定用户的
注册信息 244
8.5.6 情景应用6——分页浏览用户注册
信息 246
8.6 自我测试 247
8.7 行动指南 248
8.8 成功可以复制——射击游戏之父
约翰·卡马克 249
第2部分 提高篇
第9堂课 cookie与会话控制 253
视频讲解:145分钟
9.1 会话的操作 254
9.1.1 创建会话 254
9.1.2 配置php的会话 256
9.2 会话的高级应用 257
9.2.1 session临时文件 257
9.2.2 session缓存 258
9.2.3 session数据库存储 259
9.3 cookie的操作 259
9.3.1 创建cookie 260
9.3.2 访问cookie 261
9.3.3 删除cookie 261
9.4 照猫画虎——基本功训练 262
9.4.1 基本功训练1——初始化session
变量 262
9.4.2 基本功训练2——通过session变量
在页面间传递数据 262
9.4.3 基本功训练3——通过session变量
判断页面的访问权限 263
9.4.4 基本功训练4——cookie控制网页
访问时间 264
9.4.5 基本功训练5——通过cookie保存用户
登录信息 265
9.5 情景应用——拓展与实践 266
9.5.1 情景应用1——对session变量编码
和解码 266
9.5.2 情景应用2——通过session变量屏蔽
刷新页面对计数器的影响 267
9.5.3 情景应用3——通过cookie计算在线
考试答题时间 268
9.5.4 情景应用4——cookie自动登录 269
9.5.5 情景应用5——通过session控制
页面的背景色 270
9.6 自我测试 271
9.7 行动指南 272
9.8 成功可以复制——微型博客创始人
埃文·威廉姆斯 273
第10堂课 字符串高级处理技术 275
视频讲解:106分钟
10.1 初识字符串 276
10.2 转义、还原字符串 276
10.3 截取字符串 277
10.4 分割、合成字符串 278
10.5 替换字符串 279
10.5.1 str_ireplace()函数 279
10.5.2 substr_replace()函数 280
10.6 检索字符串 281
10.6.1 strstr()函数 281
10.6.2 substr_count()函数 281
10.7 去掉字符串首尾空格和特殊字符 282
10.7.1 ltrim()函数 282
10.7.2 rtrim()函数 283
10.7.3 trim()函数 283
10.8 字符串与html转换 284
10.9 正则表达式 284
10.9.1 什么是正则表达式 284
10.9.2 正则表达式语法规则 285
10.10 pcre兼容正则表达式函数 286
10.10.1 字符串的匹配与查找 286
10.10.2 字符串的替换 287
10.10.3 字符串的分割 288
10.11 照猫画虎——基本功训练 289
10.11.1 基本功训练1——在网页中直接
输出html脚本 289
10.11.2 基本功训练2——substr()函数截取
超长字符串 289
10.11.3 基本功训练3——统一英文注册用户
首字母的大小写 290
10.11.4 基本功训练4——货币数据的
格式化输出 291
10.11.5 基本功训练5——验证email地址格式
是否正确 291
10.11.6 基本功训练6——实现字符串的
替换 292
10.12 情景应用——拓展与实践 293
10.12.1 情景应用1——在论坛的帖子对php
脚本进行转换输出 293
10.12.2 情景应用2——以省略模式输出论坛中
最新动态标题 293
10.12.3 情景应用3——对查询的关键字进行
描红、加粗 294
10.12.4 情景应用4——通过字符串截取控制
图像验证码的输出 295
10.12.5 情景应用5——验证上传文件的格式
是否正确 296
10.12.6 情景应用6——验证用户提交的数据
是否是整数 296
10.13 自我测试 297
10.14 行动指南 298
10.15 成功可以复制——善于抓住
时机的人徐少春 299
第11堂课 日期和时间的处理技术 301
视频讲解:108分钟
11.1 php的时间观念 302
11.1.1 在php.ini文件中设置时区 302
11.1.2 通过date_default_timezone_set函数
设置时区 302
11.2 unix时间戳 302
11.2.1 获取任意日期、时间的时间戳 303
11.2.2 获取当前时间戳 303
11.2.3 日期、时间转换为unix时间戳 304
11.3 日期和时间的处理 304
11.3.1 格式化日期和时间 305
11.3.2 获取日期和时间信息 306
11.3.3 检验日期和时间的有效性 307
11.4 照猫画虎——基本功训练 308
11.4.1 基本功训练1——获取指定时间的unix
时间戳 308
11.4.2 基本功训练2——获取系统当前时间的
时间戳 308
11.4.3 基本功训练3——输出系统当前时间 309
11.4.4 基本功训练4——倒计时 309
11.4.5 基本功训练5——获取本地时间 310
11.5 情景应用——拓展与实践 310
11.5.1 情景应用1——比较两个时间的大小 310
11.5.2 情景应用2——网页闹钟 311
11.5.3 情景应用3——计算程序的运行时间 311
11.5.4 情景应用4——输出中文格式的日期和
时间 312
11.5.5 情景应用5——检验日期和时间的
有效性 312
11.6 自我测试 313
11.7 行动指南 314
11.8 成功可以复制——c#语言之父
安德斯·海尔斯伯格 315
第12堂课 图形图像处理技术 317
视频讲解:125分钟
12.1 了解gd2函数库 318
12.2 设置gd2函数库 318
12.3 学习常用图像处理技术 318
12.3.1 创建画布 319
12.3.2 颜色处理 319
12.3.3 绘制文字 320
12.3.4 输出图像 322
12.3.5 销毁图像 323
12.4 运用jpgraph类库绘制图像 323
12.4.1 jpgraph类库简介 323
12.4.2 jpgraph的安装 323
12.4.3 jpgraph创建3d饼形图展示部门
业绩比较 324
12.5 照猫画虎——基本功训练 325
12.5.1 基本功训练1——绘制一个正方形 325
12.5.2 基本功训练2——在画布中输出一行
英文字符串 326
12.5.3 基本功训练3——在背景图像上输出
北京欢迎您 326
12.5.4 基本功训练4——在照片上书写文字 327
12.5.5 基本功训练5——jpgraph创建折线图
分析图书销售走势 328
12.6 情景应用——拓展与实践 329
12.6.1 情景应用1——gd2函数生成图像
验证码 329
12.6.2 情景应用2——通过图像显示密码
安全强度 330
12.6.3 情景应用3——通过柱状图展示2010年
第一季度编程词典销量 331
12.6.4 情景应用4——通过折线图分析2010年
公司销售额 333
12.6.5 情景应用5——通过饼形图区块分析2010
年图书销量 334
12.6.6 情景应用6——制作生活画册 334
12.7 自我测试 336
12.8 行动指南 337
12.9 成功可以复制——因特网的点火人
马克·安德森 338
第13堂课 文件目录处理技术 341
视频讲解:95分钟
13.1 基本的文件处理技术 342
13.1.1 打开一个文件 342
13.1.2 读取文件内容 344
13.1.3 向文件中写入数据 347
13.1.4 关闭文件指针 349
13.2 目录操作技术 349
13.2.1 打开指定目录 349
13.2.2 读取目录结构 349
13.2.3 关闭目录指针 350
13.3 文件的上传技术 350
13.3.1 开启文件上传功能 351
13.3.2 全局变量$_files应用 351
13.3.3 将上传文件移动到指定目录 353
13.3.4 文件下载技术 354
13.4 照猫画虎——基本功训练 355
13.4.1 基本功训练1——通过文本文件统计网站
访问量 355
13.4.2 基本功训练2——读取文本文件中存储的
用户注册协议 356
13.4.3 基本功训练3——通过文本文件存储网站
访问记录 356
13.4.4 基本功训练4——验证指定的目录
是否存在 357
13.4.5 基本功训练5——控制上传文件的大小和
格式 358
13.5 情景应用——拓展与实践 359
13.5.1 情景应用1——规范化的文件上传 359
13.5.2 情景应用2——规范化的多文件上传 360
13.5.3 情景应用3——header()函数执行文件
下载 361
13.5.4 情景应用4——文本文件的分页
输出 362
13.5.5 情景应用5——将数据以二进制格式
上传到数据库 364
13.6 自我测试 365
13.7 行动指南 366
13.8 成功可以复制——知识改变命运、科技改变生活李彦宏 367
第3部分 高级篇
第14堂课 面向对象的程序设计 371
视频讲解:180分钟
14.1 一切皆是对象 372
14.1.1 什么是类 372
14.1.2 对象的由来 372
14.1.3 面向对象的特点 373
14.2 类的声明 373
14.2.1 类的定义 373
14.2.2 成员属性 374
14.2.3 成员方法 375
14.3 类的实例化 375
14.3.1 创建对象 375
14.3.2 访问类中成员 376
14.3.3 特殊的访问方法——“$this”和“::” 377
14.3.4 构造方法和析构方法 378
14.4 面向对象的封装特性 379
14.4.1 public(公共成员) 379
14.4.2 private(私有成员) 380
14.4.3 protected(保护成员) 380
14.5 面向对象的继承特性 381
14.5.1 类的继承——extends关键字 381
14.5.2 类的继承——parent::关键字 382
14.5.3 覆盖父类方法 383
14.6 抽象类和接口 384
14.6.1 抽象类 384
14.6.2 接口 385
14.7 面向对象的多态性 387
14.7.1 通过继承实现多态 387
14.7.2 通过接口实现多态 388
14.8 面向对象的关键字 388
14.8.1 final关键字 388
14.8.2 static关键字——声明静态类成员 389
14.8.3 clone关键字——克隆对象 390
14.9 面向对象的魔术方法 391
14.9.1 __set()和__get()方法 391
14.9.2 __isset()和__unset()方法 391
14.9.3 __call()方法 392
14.9.4 __tostring()方法 392
14.9.5 __autoload()方法 393
14.10 照猫画虎——基本功训练 394
14.10.1 基本功训练1——编写一个矩形类 394
14.10.2 基本功训练2——用构造方法初始化 395
14.10.3 基本功训练3——this关键字的用途 395
14.10.4 基本功训练4——方法参数传递 396
14.10.5 基本功训练5——方法的覆盖 397
14.11 情景应用——拓展与实践 397
14.11.1 情景应用1——数据统计类中定义
求数值平方的方法 397
14.11.2 情景应用2——封装一个数据库
连接类 399
14.11.3 情景应用3——封装一个数据库
操作类 400
14.11.4 情景应用4——封装分页类 401
14.11.5 情景应用5——封装特殊字符转义类 402
14.12 自我测试 403
14.13 行动指南 404
14.14 成功可以复制——中国通信设备
行业的领跑者任正非 405
第15堂课 php与xml技术 407
视频讲解:160分钟
15.1 xml的概述 408
15.2 xml语法 408
15.2.1 xml文档结构 408
15.2.2 xml声明 408
15.2.3 处理指令 409
15.2.4 注释 409
15.2.5 xml元素 409
15.2.6 xml属性 410
15.2.7 使用cdata标记 410
15.2.8 xml命名空间 411
15.3 simplexml系列函数操作xml 411
15.3.1 创建simplexml对象 411
15.3.2 遍历所有子元素 412
15.3.3 遍历所有属性 413
15.3.4 访问特定节点元素和属性 414
15.3.5 修改xml数据 414
15.3.6 保存xml文档 415
15.4 rss阅读器 416
15.4.1 rss概述 416
15.4.2 rss 2.0的标准 417
15.4.3 创建支持rss阅读的站点 419
15.5 照猫画虎——基本功训练 422
15.5.1 基本功训练1——动态创建xml
文档 422
15.5.2 基本功训练2——动态读取xml
文档 424
15.5.3 基本功训练3——通过xpath查询xml
中的数据 426
15.5.4 基本功训练4——动态更新xml中的
数据 428
15.5.5 基本功训练5——动态删除xml中的
数据 430
15.6 情景应用——拓展与实践 432
15.6.1 情景应用1——创建rss阅读器的
框架 432
15.6.2 情景应用2——树状导航菜单输出
频道组和频道 434
15.6.3 情景应用3——ajax无刷新读取
订阅信息 435
15.6.4 情景应用4——添加频道组 437
15.6.5 情景应用5——添加频道 438
15.7 自我测试 441
15.8 行动指南 441
15.9 成功可以复制——中国网络游戏产业的
领军人陈天桥 442
第16堂课 pdo数据库抽象层 445
视频讲解:82分钟
16.1 什么是pdo 446
16.1.1 pdo概述 446
16.1.2 pdo特点 446
16.1.3 安装pdo 446
16.2 pdo连接数据库 447
16.2.1 pdo构造函数 447
16.2.2 dsn详解 447
16.3 pdo中执行sql语句 448
16.3.1 exec()方法 448
16.3.2 query()方法 448
16.3.3 预处理语句——prepare()和execute() 448
16.4 pdo中获取结果集 449
16.4.1 fetch()方法 449
16.4.2 fetchall()方法 450
16.4.3 fetchcolumn()方法 451
16.5 pdo中捕获sql语句中的错误 453
16.5.1 使用默认模式——pdo::
errmode_silent 453
16.5.2 使用警告模式——pdo::
errmode_warning 454
16.5.3 使用异常模式——pdo::
errmode_exception 455
16.6 pdo中错误处理 456
16.6.1 errorcode()方法 456
16.6.2 errorinfo()方法 457
16.7 pdo中事务处理 459
16.8 pdo中存储过程 460
16.9 照猫画虎——基本功训练 461
16.9.1 基本功训练1——连接mysql
数据库 461
16.9.2 基本功训练2——通过pdo向数据库中
添加数据 462
16.9.3 基本功训练3——通过pdo浏览
数据库中数据 463
16.9.4 基本功训练4——通过pdo更新
数据库中数据 464
16.9.5 基本功训练5——连接ms sql server
数据库 466
16.10 情景应用——拓展与实践 467
16.10.1 情景应用1——明日书店会员注册 467
16.10.2 情景应用2——明日书店会员登录 468
16.10.3 情景应用3——添加留言信息 469
16.10.4 情景应用4——浏览客户留言 470
16.10.5 情景应用5——查询留言内容 471
16.11 自我测试 472
16.12 行动指南 473
16.13 成功可以复制——中国第一程序员求伯君 474
第17堂课 smarty模板技术 477
视频讲解:162分钟
17.1 smarty模板引擎 478
17.1.1 smarty模板引擎下载 478
17.1.2 smarty模板引擎安装 479
17.1.3 smarty模板引擎配置 479
17.1.4 走进smarty模板引擎 481
17.2 smarty模板设计——静态页处理 482
17.2.1 基本语法(注释、函数和属性) 482
17.2.2 smarty模板设计变量 483
17.2.3 变量调节器 484
17.2.4 内建函数(动态文件、模板文件的包含和
流程控制语句) 485
17.2.5 自定义函数 487
17.2.6 配置文件 487
17.3 smarty程序设计——动态文件
操作 489
17.3.1 smarty_path常量 489
17.3.2 smarty程序设计变量 489
17.3.3 smarty方法 489
17.3.4 smarty缓存 490
17.4 照猫画虎——基本功训练 492
17.4.1 基本功训练1——封装smarty模板的配置
方法 492
17.4.2 基本功训练2——smarty模板中的
页面设计 493
17.4.3 基本功训练3——if语句判断当前
用户权限 494
17.4.4 基本功训练4——smarty模板中日期、
时间的格式化输出 496
17.4.5 基本功训练5——register_object方法注册
模板对象 496
17.5 情景应用——拓展与实践 498
17.5.1 情景应用1——smarty模板中的truncate
方法截取字符串 498
17.5.2 情景应用2——smarty模板制作后台管理
系统主页 499
17.5.3 情景应用3——html_option函数向下拉
列表中添加列表项 501
17.5.4 情景应用4——smarty模板中应用正则
表达式 503
17.5.5 情景应用5——开启网站登录页面的
缓存 505
17.6 自我测试 506
17.7 行动指南 507
17.8 成功可以复制——征途巨人
史玉柱 508
第18堂课 zend framework框架 511
视频讲解:145分钟
18.1 zend framework的mvc介绍 512
18.1.1 zend framework概述 512
18.1.2 zend framework常用组件 512
18.1.3 mvc原理 512
18.2 zend framework的mvc环境
搭建 513
18.2.1 环境配置 513
18.2.2 框架结构 514
18.2.3 创建流程 515
18.2.4 zend framework的编码标准 518
18.3 zend_auth身份认证 519
18.3.1 zend_auth适配器 519
18.3.2 身份持久认证 520
18.3.3 数据库认证 523
18.4 zend_db数据库操作 524
18.4.1 zend_db_adapter数据库操作 524
18.4.2 zend_db_table数据库操作 524
18.4.3 数据表类 526
18.5 zend_file文件控制 530
18.5.1 使用zend_file_transfer_adapter_http
实现post方式文件上传 530
18.5.2 对上传文件的合理性验证 531
18.5.3 为上传增加过滤规则 532
18.6 zend_layout网站布局 533
18.6.1 zend_layout概述 533
18.6.2 zend_layout使用方法 533
18.6.3 zend_layout应用实例 534
18.7 zend_paginator分页 536
18.7.1 zend_paginator简介 536
18.7.2 zend_paginator分页方法 536
18.7.3 zend_paginator分页应用 537
18.8 照猫画虎——基本功训练 540
18.8.1 基本功训练1——通过zend_acl控制
角色和资源的权限 540
18.8.2 基本功训练2——比较缓存日期与
本地日期 542
18.8.3 基本功训练3——应用zend_config配置
站点初始参数 544
18.8.4 基本功训练4——应用zend_form制作
用户注册表单 547
18.8.5 基本功训练5——应用zend_mail
发送邮件 549
18.9 情景应用——拓展与实践 551
18.9.1 情景应用1——应用zend framework
进行用户身份验证 551
18.9.2 情景应用2——应用zend framework
实现查询结果关键字描红 553
18.9.3 情景应用3——应用zend framework
设计新闻发布系统首页 556
18.9.4 情景应用4——应用zend_paginaator
实现数据分页显示 560
18.9.5 情景应用5——应用zend_mail
接收邮件 561
18.10 自我测试 564
18.11 行动指南 564
18.12 成功可以复制——创造互联网搜索
时代拉里·佩奇和谢尔盖·布林 565
第19堂课 php的安全与防护 567
视频讲解:40分钟
19.1 php加密函数 568
19.1.1 使用crypt()函数进行加密 568
19.1.2 使用md5()函数进行加密 569
19.1.3 使用sha1()函数进行加密 570
19.2 php加密扩展库 570
19.2.1 mcrypt扩展库 570
19.2.2 mhash扩展库 571
19.3 php漏洞和防护措施 572
19.3.1 本地文件包含漏洞 572
19.3.2 远程文件包含漏洞 573
19.3.3 文件上传漏洞 573
19.3.4 提交表单漏洞 574
19.3.5 sql注入漏洞 575
19.4 照猫画虎——基本功训练 575
19.4.1 基本功训练1——通过crypt()函数进行
加密 575
19.4.2 基本功训练2——通过md5()函数进行
加密 576
19.4.3 基本功训练3——通过sha1()函数进行
加密 576
19.4.4 基本功训练4——通过mcrypt()函数进行
加密、解密操作 577
19.4.5 基本功训练5——通过mhash()扩展库
进行加密、解密 578
19.5 情景应用——拓展与实践 578
19.5.1 情景应用1——通过crypt()函数对用户
注册密码进行加密 578
19.5.2 情景应用2——通过md5()函数对用户
注册密码进行加密 579
19.5.3 情景应用3——通过自定义函数实现
加密操作 580
19.5.4 情景应用4——隐藏php文件
扩展名 580
19.5.5 情景应用5——禁止用户输入
敏感字符 581
19.6 自我测试 583
19.7 行动指南 584
19.8 成功可以复制——初中站长的创业
故事李兴平 585
第20堂课 php的字符编码 587
视频讲解:79分钟
20.1 字符集和编码 588
20.1.1 iso 8859 字符集 588
20.1.2 gb2312与gbk字符集 588
20.1.3 unicode字符集 589
20.1.4 utf-8编码 589
20.2 php网页的字符编码 590
20.2.1 设置编码格式 590
20.2.2 转换编码格式 591
20.2.3 检测字符串的编码 592
20.3 php开发中的乱码问题 593
20.3.1 解决页面中的乱码问题 593
20.3.2 数据库中的字符集编码问题 594
20.3.3 避免截取中文字符串时出现乱码 595
20.4 照猫画虎——基本功训练 596
20.4.1 基本功训练1——dreamweaver中编码
格式的选择 596
20.4.2 基本功训练2——创建gb2312编码
格式的网页 597
20.4.3 基本功训练3——通过iconv()函数实现
编码格式的转换 598
20.4.4 基本功训练4——通过header()函数
设置php脚本文件的编码格式 599
20.4.5 基本功训练5——设置mysql数据库中
数据的编码格式 599
20.5 情景应用——拓展与实践 601
20.5.1 情景应用1——采用utf-8编码设计论坛
网页 601
20.5.2 情景应用2——以utf8编码输出论坛中
数据 602
20.5.3 情景应用3——论坛中控制帖子标题
输出的长度 603
20.5.4 情景应用4——完成论坛中帖子的
发布 605
20.5.5 情景应用5——对输出的数据进行编码
格式转换 606
20.6 自我测试 607
20.7 行动指南 608
20.8 成功可以复制——暴雪公司的
领航者迈克·莫汉 609
第21堂课 程序调试与错误处理 611
视频讲解:112分钟
21.1 基本调试策略 612
21.2 常见错误分析 612
21.2.1 语法错误 613
21.2.2 定义错误 615
21.2.3 逻辑错误 616
21.2.4 运行错误 616
21.2.5 环境错误 618
21.3 php.ini中的错误处理机制 619
21.3.1 控制错误显示以及显示方式 619
21.3.2 控制错误的级别 619
21.4 程序调试方法 620
21.4.1 应用die语句调试 620
21.4.2 应用mysql_error()语句输出
错误信息 621
21.5 错误处理技巧 622
21.5.1 隐藏错误 622
21.5.2 自定义错误页面 622
21.6 照猫画虎——基本功训练 623
21.6.1 基本功训练1——解决程序的语法
错误 623
21.6.2 基本功训练2——计算商品的折扣
价格 624
21.6.3 基本功训练3——连接不存在的
数据库 624
21.6.4 基本功训练4——运行缺少第三方组件
的程序 625
21.6.5 基本功训练5——通过readfile ()函数
访问远程文件 626
21.7 情景应用——拓展与实践 626
21.7.1 情景应用1——分析、解决php与
mysql连接错误 626
21.7.2 情景应用2——解决数据库乱码
问题 628
21.7.3 情景应用3——封装异常处理类 629
21.7.4 情景应用4——使用错误处理器记录
日志 630
21.7.5 情景应用5——通过phpmyadmin调试
sql语句中的错误 631
21.8 自我测试 632
21.9 行动指南 632
21.10 成功可以复制——java技术
之父james gosling 633
第4部分 实战篇
第22堂课 应用smarty模板开发电子商务
网站 637
视频讲解:65分钟
22.1 开发背景 638
22.2 需求分析 638
22.3 系统分析 638
22.3.1 系统目标 638
22.3.2 系统功能结构 639
22.3.3 开发环境 639
22.3.4 文件夹组织结构 640
22.4 数据库设计 641
22.4.1 数据库分析 641
22.4.2 创建数据库和数据表 642
22.5 公共文件设计 643
22.5.1 数据库连接、管理和分页类文件 643
22.5.2 smarty模板配置类文件 646
22.5.3 执行类的实例化文件 646
22.6 前台首页设计 646
22.6.1 前台首页概述 646
22.6.2 前台首页技术分析 647
22.6.3 前台首页实现过程 647
22.7 登录模块设计 649
22.7.1 登录模块概述 649
22.7.2 登录模块技术分析 650
22.7.3 用户注册 651
22.7.4 用户登录 653
22.7.5 找回密码 655
22.8 会员信息模块设计 660
22.8.1 会员信息模块概述 660
22.8.2 会员信息模块技术分析 660
22.8.3 会员中心 661
22.8.4 安全退出 664
22.9 商品展示模块设计 665
22.9.1 商品展示模块概述 665
22.9.2 商品展示模块技术分析 665
22.9.3 商品展示模块的实现过程 666
22.10 购物车模块设计 669
22.10.1 购物车模块概述 669
22.10.2 购物车模块技术分析 669
22.10.3 购物车展示 671
22.10.4 更改商品数量 673
22.10.5 删除商品 674
22.10.6 保存购物车 676
22.11 收银台模块设计 678
22.11.1 收银台模块概述 678
22.11.2 收银台模块技术分析 678
22.11.3 显示订单 678
22.11.4 填写订单 679
22.11.5 处理订单 679
22.12 后台首页设计 681
22.12.1 后台首页概述 681
22.12.2 后台首页技术分析 681
22.12.3 后台首页实现过程 683
22.13 开发技巧与难点分析 684
22.13.1 解决ajax的乱码问题 684
22.13.2 使用js脚本获取、输出标签内容 685
22.13.3 禁用页面缓存 685
22.13.4 在新窗口中使用session 685
22.13.5 判断上传文件格式 685
22.13.6 设置服务器的时间 686
22.14 开发总结 686
第23堂课 zend framework框架开发明日
搜索引擎 687
视频讲解:80分钟
23.1 明日搜索引擎概述 688
23.2 开发背景 688
23.3 需求分析 688
23.4 系统分析 688
23.4.1 功能结构 689
23.4.2 开发环境 689
23.5 数据库设计 689
23.5.1 数据库分析 690
23.5.2 数据库概念设计 690
23.5.3 创建数据库及数据表 691
23.6 技术攻关 692
23.6.1 类似google搜索引擎的搜索条 692
23.6.2 使用空格分隔多关键字 696
23.6.3 关键字描红 699
23.6.4 制作在线编辑器 701
23.7 mvc框架结构搭建 703
23.8 首页设计 704
23.8.1 首页概述 704
23.8.2 首页技术分析 705
23.8.3 首页的实现过程 705
23.9 用户模块设计 708
23.9.1 用户模块概述 708
23.9.2 用户模块技术分析 708
23.9.3 用户注册的实现过程 710
23.9.4 用户登录的实现过程 712
23.10 发表问题模块设计 714
23.10.1 发表问题模块概述 714
23.10.2 发表问题模块技术分析 715
23.10.3 发表问题模块实现过程 716
23.11 回复问题模块设计 718
23.11.1 回复问题模块概述 718
23.11.2 回复问题模块技术分析 719
23.11.3 回复问题模块实现过程 719
23.12 程序调试与错误处理 720
23.12.1 项目开发过程中常见错误及解决方法 721
23.12.2 自定义错误页面 721
23.13 开发总结 722
特别提醒:
亲爱的读者朋友,由于近期纸张价格和印制成本大幅上涨,为不增加读者朋友的负担,又不减少书的内容,本书以下章节内容不得不放在配书光盘中,由此给您带来了不便,在此深表歉意。
第24堂课 学校图书馆管理系统 723
视频讲解:150分钟
(本章内容在配书光盘中)
24.1 开发背景 724
24.2 需求分析 724
24.3 系统设计 724
24.3.1 系统目标 724
24.3.2 系统功能结构 725
24.3.3 系统流程图 725
24.3.4 开发环境 725
24.3.5 文件夹组织结构 726
24.4 数据库设计 727
24.4.1 数据库分析 727
24.4.2 数据库概念设计 727
24.4.3 创建数据库及数据表 728
24.5 首页设计 729
24.5.1 首页概述 729
24.5.2 首页技术分析 730
24.5.3 首页的实现过程 730
24.6 管理员模块设计 731
24.6.1 管理员模块概述 731
24.6.2 管理员模块技术分析 732
24.6.3 系统登录的实现过程 732
24.6.4 查看管理员的实现过程 734
24.6.5 添加管理员的实现过程 735
24.6.6 设置管理员权限的实现过程 736
24.6.7 删除管理员的实现过程 738
24.7 图书档案管理模块设计 738
24.7.1 图书档案管理模块概述 738
24.7.2 图书档案管理模块技术分析 739
24.7.3 查看图书信息列表的实现过程 739
24.7.4 添加图书信息的实现过程 740
24.7.5 修改图书信息的实现过程 742
24.7.6 删除图书信息的实现过程 743
24.8 图书借还模块设计 743
24.8.1 图书借还模块概述 743
24.8.2 图书借还模块技术分析 744
24.8.3 图书借阅的实现过程 744
24.8.4 图书续借的实现过程 747
24.8.5 图书归还的实现过程 748
24.8.6 图书借阅查询的实现过程 749
24.9 开发技巧与难点分析 752
24.9.1 如何自动计算图书归还日期 752
24.9.2 如何对图书借阅信息进行统计排行 752
24.10 开发总结 753
附录a php编码规则 755
(本章内容在配书光盘中)
a.1 php file文件格式 755
a.1.1 常规 755
a.1.2 缩进 755
a.1.3 行的最大长度 755
a.1.4 行结束标志 755
a.1.5 引号 755
a.1.6 运算符、小括号、空格和关键词 756
a.2 命名约定 757
a.2.1 类 757
a.2.2 接口 757
a.2.3 文件名 757
a.2.4 函数和方法 758
a.2.5 变量 758
a.2.6 常量 759
a.2.7 数据库表和字段 759
a.3 编码风格 759
a.3.1 php代码划分(demarcation) 759
a.3.2 字符串 759
a.3.3 数组 760
a.3.4 类 760
a.3.5 函数和方法 761
a.3.6 控制语句 762
a.3.7 数据库 763
a.3.8 注释文档 764
第1部分 基础篇
第1堂课 php概述 3
视频讲解:110分钟
1.1 怎样学好php 4
1.1.1 什么是php 4
1.1.2 php的优势 4
1.1.3 如何学好编程 6
1.1.4 下载php及相关软件 7
1.1.5 代码编辑工具 8
1.1.6 下载php用户手册 9
1.2 环境的搭建 9
1.2.1 appserv——windows版php集成化
安装包 9
1.2.2 xampp——linux版php集成化
安装包 11
1.3 php开发环境的关键配置信息 13
1.3.1 apache服务器的基本配置 13
1.3.2 php.ini文件的基本配置 13
1.4 解决php的常见配置问题 14
.1.4.1 解决apache服务器端口冲突 15
1.4.2 设置php的系统当前时间 15
1.4.3 增加php扩展模块 15
1.5 照猫画虎——基本功训练 15
1.5.1 基本功训练1——测试php环境是否
搭建成功 15
1.5.2 基本功训练2——第一次登录phpmyadmin
图形化管理工具 16
1.5.3 基本功训练3——浏览php环境
配置说明 16
1.5.4 基本功训练4——解析php环境搭建的
四大目录 17
1.5.5 基本功训练5——编辑第一个php程序 18
1.6 情景应用——拓展与实践 19
1.6.1 情景应用1——输出系统的当前时间 19
1.6.2 情景应用2——输出“明日科技
欢迎您!” 20
1.6.3 情景应用3——输出一个漂亮的图片 20
1.6.4 情景应用4——更改apache服务器的
端口号为82 21
1.6.5 情景应用5——apache端口号修改后运行
第一个php程序 21
1.7 自我测试 22
1.8 行动指南 23
1.9 成功可以复制——php开山鼻祖
rasmus lerdorf 24
第2堂课 php基础 25
视频讲解:140分钟
2.1 php工作原理 26
2.2 php标记 27
2.3 代码注释 27
2.3.1 使用php注释 27
2.3.2 有效使用注释 28
2.4 php常量 29
2.4.1 声明和使用常量 29
2.4.2 预定义常量 30
2.5 php变量 31
2.5.1 声明变量 31
2.5.2 变量作用域 33
2.5.3 可变变量 35
2.6 php数据类型 35
2.6.1 标量数据类型 35
2.6.2 复合数据类型 38
2.6.3 特殊数据类型 39
2.6.4 转换数据类型 39
2.6.5 检测数据类型 40
2.7 php的运算符 41
2.7.1 算术运算符 41
2.7.2 字符串运算符 42
2.7.3 赋值运算符 42
2.7.4 位运算符 43
2.7.5 递增或递减运算符 43
2.7.6 逻辑运算符 44
2.7.7 比较运算符 45
2.7.8 三元运算符 46
2.7.9 运算符的使用规则 46
2.8 照猫画虎——基本功训练 47
2.8.1 基本功训练1——获取当前执行
文件名称 47
2.8.2 基本功训练2——加法计算器 48
2.8.3 基本功训练3——输出姚明的个人信息 48
2.8.4 基本功训练4——比较某一天的产品
销量 49
2.8.5 基本功训练5——根据工资多少判断
购物地点 50
2.9 情景应用——拓展与实践 50
2.9.1 情景应用1——在留言板中输出系统
当前时间 50
2.9.2 情景应用2——根据奇偶天数安排
工作任务 51
2.9.3 情景应用3——计算长方形的面积 52
2.9.4 情景应用4——检测变量是否为整型 52
2.9.5 情景应用5——通过数据递增运算
统计网站访问量 53
2.9.6 情景应用6——输出学生的考试成绩 54
2.10 自我测试 54
2.11 行动指南 55
2.12 成功可以复制——杀毒王
王江民 56
第3堂课 php函数 59
视频讲解:100分钟
3.1 php函数介绍 60
3.1.1 定义和调用函数 60
3.1.2 在函数间传递参数 60
3.1.3 从函数中返回值 62
3.1.4 变量函数 62
3.1.5 对函数的引用 63
3.1.6 取消引用 63
3.2 php变量函数库 64
3.3 php字符串函数库 65
3.4 php日期时间函数库 66
3.5 php数学函数库 67
3.6 php文件系统函数库 68
3.7 mysql函数库 70
3.8 照猫画虎——基本功训练 71
3.8.1 基本功训练1——判断用户提交用户名
是否为空 71
3.8.2 基本功训练2——打印输出员工的
个人信息 72
3.8.3 基本功训练3——输出公司的企业文化 72
3.8.4 基本功训练4——计算密码长度 73
3.8.5 基本功训练5——验证输入时间是否
有效 73
3.8.6 基本功训练6——获取商品销量的
最高值 74
3.8.7 基本功训练7——读取文本文件中的
数据 75
3.9 情景应用——拓展与实践 76
3.9.1 情景应用1——控制帖子标题的输出
长度 76
3.9.2 情景应用2——去除用户填写注册
信息中的空格 77
3.9.3 情景应用3——对关键字进行描红 78
3.9.4 情景应用4——网页闹钟 79
3.9.5 情景应用5——幸运数字抽奖 80
3.9.6 情景应用6——数字验证码 80
3.9.7 情景应用7——文本文件统计网站
访问量 81
3.9.8 情景应用8——购物车中商品的输出 83
3.9.9 情景应用9——中文图像验证码 83
3.10 自我测试 84
3.11 行动指南 85
3.12 成功可以复制——缔造华人的
硅谷传奇杨致远 86
第4堂课 php流程控制语句 89
视频讲解:95分钟
4.1 程序的3种控制结构 90
4.1.1 顺序结构 90
4.1.2 选择(分支)结构 90
4.1.3 循环结构 91
4.2 条件控制语句 91
4.2.1 if条件控制语句 92
4.2.2 switch多分支语句 93
4.3 循环控制语句 95
4.3.1 while循环语句 95
4.3.2 do…while循环语句 96
4.3.3 for循环语句 97
4.3.4 foreach循环语句 98
4.4 跳转语句 100
4.4.1 break跳转语句 100
4.4.2 continue跳转语句 101
4.5 包含语句 102
4.5.1 include()语句 103
4.5.2 require()语句 103
4.5.3 include_once()语句 104
4.5.4 require_once()语句 105
4.5.5 include()语句和require()语句的区别 106
4.6 照猫画虎——基本功训练 107
4.6.1 基本功训练1——对与错的判断 107
4.6.2 基本功训练2——for语句计算阶乘 107
4.6.3 基本功训练3——if语句判断闰年 108
4.6.4 基本功训练4——用switch语句计算
商品的折扣价格 108
4.6.5 基本功训练5——向一个循环语句中
发布终止指令 109
4.7 情景应用——拓展与实践 110
4.7.1 情景应用1——使用if语句判断美女
征婚条件 110
4.7.2 情景应用2——使用switch语句定制网页
每日问候语 112
4.7.3 情景应用3——使用while语句循环读取
数组中数据 113
4.7.4 情景应用4——switch网页框架 114
4.7.5 情景应用5——使用for循环语句实现
多图片上传 115
4.8 自我测试 116
4.9 行动指南 118
4.10 成功可以复制——bea创始人
之一庄思浩 119
第5堂课 php数组应用 121
视频讲解:105分钟
5.1 数组概述 122
5.2 数组类型 122
5.3 声明数组 123
5.3.1 用户创建数组 123
5.3.2 函数创建数组 124
5.3.3 创建二维数组 124
5.4 遍历、输出数组 125
5.4.1 遍历数组 125
5.4.2 输出数组元素 128
5.5 php数组函数 128
5.5.1 统计数组元素个数 128
5.5.2 向数组中添加元素 129
5.5.3 获取数组中最后一个元素 129
5.5.4 删除数组中重复元素 129
5.5.5 获取数组中指定元素的键名 130
5.6 php全局数组 131
5.6.1 $_server[ ]全局数组 131
5.6.2 $_get[ ]和$_post[ ]全局数组 132
5.6.3 $_cookie全局数组 133
5.6.4 $_env[ ]全局数组 133
5.6.5 $_request[ ]全局数组 133
5.6.6 $_session[ ]全局数组 134
5.6.7 $_files[ ]全局数组 134
5.7 照猫画虎——基本功训练 134
5.7.1 基本功训练1——输出数组中元素值 134
5.7.2 基本功训练2——遍历数组 135
5.7.3 基本功训练3——foreach语句
遍历数组 135
5.7.4 基本功训练4——将数组元素转换成
字符串 136
5.7.5 基本功训练5——去除数组中重复的
元素 136
5.7.6 基本功训练6——向数组中添加元素 137
5.7.7 基本功训练7——获取服务器端的ip
地址 137
5.8 情景应用——拓展与实践 138
5.8.1 情景应用1——字符串数组排序 138
5.8.2 情景应用2——获取用户注册信息 139
5.8.3 情景应用3——获取上传文件的数据 140
5.8.4 情景应用4——生成在线考试题 140
5.8.5 情景应用5——通过客户端ip地址限制
投票次数 141
5.9 自我测试 142
5.10 行动指南 143
5.11 成功可以复制——迅雷创始人
邹胜龙 144
第6堂课 php与web页面交互 147
视频讲解:225分钟
6.1 表单概述 148
6.1.1 创建表单 148
6.1.2 添加表单元素 148
6.1.3 定义表单数据提交方法 152
6.2 获取表单提交的数据 154
6.2.1 $_get[]获取表单提交数据 154
6.2.2 $_post[]获取表单提交数据 154
6.3 获取超链接传递的数据 155
6.3.1 通过超链接传递数据 156
6.3.2 通过$_get[]获取超级链接传递的数据 156
6.3.3 对超链接传递的数据进行编码、
解码 157
6.4 了解javascript脚本 158
6.4.1 javascript语言基础 158
6.4.2 通过javascript脚本自定义函数 160
6.4.3 javascript脚本嵌入方式 161
6.4.4 javascript常用事件 166
6.5 照猫画虎——基本功训练 167
6.5.1 基本功训练1——设计一个用户登录
表单 167
6.5.2 基本功训练2——验证用户名和密码
不能为空 168
6.5.3 基本功训练3——输出用户登录信息 169
6.5.4 基本功训练4——验证email地址格式
是否正确 171
6.5.5 基本功训练5——验证用户两次输入的
密码是否一致 172
6.6 情景应用——拓展与实践 173
6.6.1 情景应用1——开发一个用户注册表单 173
6.6.2 情景应用2——验证用户注册信息
是否合理 174
6.6.3 情景应用3——限制多行文本域输入的
字符个数 176
6.6.4 情景应用4——设置文本框的只读
属性 178
6.6.5 情景应用5——对超链接传递的数据
进行编码 179
6.7 自我测试 179
6.8 行动指南 180
6.9 成功可以复制——软件业的
华人教父王嘉廉 181
第7堂课 mysql数据库技术 183
视频讲解:155分钟
7.1 mysql概述 184
7.1.1 mysql的特点 184
7.1.2 sql和mysql 184
7.2 mysql服务器的启动和关闭 185
7.2.1 启动mysql服务器 185
7.2.2 连接mysql服务器 186
7.2.3 关闭mysql服务器 187
7.3 操作mysql数据库 187
7.3.1 创建新数据库 187
7.3.2 选择指定数据库 188
7.3.3 删除指定数据库 188
7.4 操作mysql数据表 189
7.4.1 创建一个表 189
7.4.2 查看数据表结构 190
7.4.3 修改数据表结构 191
7.4.4 重命名数据表 192
7.4.5 删除指定数据表 192
7.5 操作mysql数据 193
7.5.1 向数据表中添加数据 193
7.5.2 更新数据表中数据 193
7.5.3 删除数据表中数据 194
7.5.4 查询数据表中数据 194
7.6 mysql数据类型 197
7.6.1 数字类型 197
7.6.2 字符串类型 198
7.6.3 日期和时间数据类型 199
7.7 phpmyadmin管理mysql数据库 200
7.7.1 管理数据库 200
7.7.2 管理数据表 201
7.7.3 管理数据记录 203
7.7.4 导入导出数据 206
7.8 照猫画虎——基本功训练 208
7.8.1 基本功训练1——创建db_book图书
数据库 208
7.8.2 基本功训练2——在db_book数据库中
创建图书信息表tb_mrbook 208
7.8.3 基本功训练3——向tb_mrbook表中添加
数据 209
7.8.4 基本功训练4——修改tb_mrbook表中的
数据 210
7.8.5 基本功训练5——删除tb_mrbook表中
指定数据 210
7.9 情景应用——拓展与实践 211
7.9.1 情景应用1——通过命令模式备份和
恢复数据库 211
7.9.2 情景应用2——mysql的存储过程 213
7.9.3 情景应用3——使用phpmyadmin设置
编码格式 214
7.9.4 情景应用4——通过phpmyadmin添加
服务器新用户 215
7.9.5 情景应用5——在phpmyadmin中重置
mysql服务器登录密码 216
7.10 自我测试 217
7.11 行动指南 218
7.12 成功可以复制——图文世界的
缔造者约翰·沃洛克 219
第8堂课 php数据库编程技术 221
视频讲解:205分钟
8.1 php操作mysql数据库的步骤 222
8.2 php操作mysql数据库的方法 222
8.2.1 mysql_connect()函数连接mysql
服务器 222
8.2.2 mysql_select_db()函数选择mysql
数据库 223
8.2.3 mysql_query()函数执行sql语句 223
8.2.4 mysql_fetch_array()函数将结果集返回到
数组中 224
8.2.5 mysql_fetch_row()函数从结果集中获取
一行作为枚举数组 225
8.2.6 mysql_num_rows()函数获取查询结果
集中的记录数 226
8.2.7 mysql_free_result()函数释放内存 227
8.2.8 mysql_close()函数关闭连接 227
8.3 管理mysql数据库中的数据 228
8.3.1 向数据库中添加数据 228
8.3.2 浏览数据库中的数据 229
8.3.3 编辑数据库中的数据 230
8.3.4 从数据库中删除数据 231
8.3.5 批量数据操作 233
8.4 照猫画虎——基本功训练 234
8.4.1 基本功训练1——连接db_database08
数据库 234
8.4.2 基本功训练2——查询图书信息表中的
前3条记录 235
8.4.3 基本功训练3——对查询结果进行降序
排列输出 236
8.4.4 基本功训练4——更新指定图书的
信息 237
8.4.5 基本功训练5——删除指定的用户
信息 239
8.5 情景应用——拓展与实践 240
8.5.1 情景应用1——用户注册模块 240
8.5.2 情景应用2——用户登录模块 242
8.5.3 情景应用3——浏览注册用户信息 242
8.5.4 情景应用4——查询注册用户 243
8.5.5 情景应用5——修改指定用户的
注册信息 244
8.5.6 情景应用6——分页浏览用户注册
信息 246
8.6 自我测试 247
8.7 行动指南 248
8.8 成功可以复制——射击游戏之父
约翰·卡马克 249
第2部分 提高篇
第9堂课 cookie与会话控制 253
视频讲解:145分钟
9.1 会话的操作 254
9.1.1 创建会话 254
9.1.2 配置php的会话 256
9.2 会话的高级应用 257
9.2.1 session临时文件 257
9.2.2 session缓存 258
9.2.3 session数据库存储 259
9.3 cookie的操作 259
9.3.1 创建cookie 260
9.3.2 访问cookie 261
9.3.3 删除cookie 261
9.4 照猫画虎——基本功训练 262
9.4.1 基本功训练1——初始化session
变量 262
9.4.2 基本功训练2——通过session变量
在页面间传递数据 262
9.4.3 基本功训练3——通过session变量
判断页面的访问权限 263
9.4.4 基本功训练4——cookie控制网页
访问时间 264
9.4.5 基本功训练5——通过cookie保存用户
登录信息 265
9.5 情景应用——拓展与实践 266
9.5.1 情景应用1——对session变量编码
和解码 266
9.5.2 情景应用2——通过session变量屏蔽
刷新页面对计数器的影响 267
9.5.3 情景应用3——通过cookie计算在线
考试答题时间 268
9.5.4 情景应用4——cookie自动登录 269
9.5.5 情景应用5——通过session控制
页面的背景色 270
9.6 自我测试 271
9.7 行动指南 272
9.8 成功可以复制——微型博客创始人
埃文·威廉姆斯 273
第10堂课 字符串高级处理技术 275
视频讲解:106分钟
10.1 初识字符串 276
10.2 转义、还原字符串 276
10.3 截取字符串 277
10.4 分割、合成字符串 278
10.5 替换字符串 279
10.5.1 str_ireplace()函数 279
10.5.2 substr_replace()函数 280
10.6 检索字符串 281
10.6.1 strstr()函数 281
10.6.2 substr_count()函数 281
10.7 去掉字符串首尾空格和特殊字符 282
10.7.1 ltrim()函数 282
10.7.2 rtrim()函数 283
10.7.3 trim()函数 283
10.8 字符串与html转换 284
10.9 正则表达式 284
10.9.1 什么是正则表达式 284
10.9.2 正则表达式语法规则 285
10.10 pcre兼容正则表达式函数 286
10.10.1 字符串的匹配与查找 286
10.10.2 字符串的替换 287
10.10.3 字符串的分割 288
10.11 照猫画虎——基本功训练 289
10.11.1 基本功训练1——在网页中直接
输出html脚本 289
10.11.2 基本功训练2——substr()函数截取
超长字符串 289
10.11.3 基本功训练3——统一英文注册用户
首字母的大小写 290
10.11.4 基本功训练4——货币数据的
格式化输出 291
10.11.5 基本功训练5——验证email地址格式
是否正确 291
10.11.6 基本功训练6——实现字符串的
替换 292
10.12 情景应用——拓展与实践 293
10.12.1 情景应用1——在论坛的帖子对php
脚本进行转换输出 293
10.12.2 情景应用2——以省略模式输出论坛中
最新动态标题 293
10.12.3 情景应用3——对查询的关键字进行
描红、加粗 294
10.12.4 情景应用4——通过字符串截取控制
图像验证码的输出 295
10.12.5 情景应用5——验证上传文件的格式
是否正确 296
10.12.6 情景应用6——验证用户提交的数据
是否是整数 296
10.13 自我测试 297
10.14 行动指南 298
10.15 成功可以复制——善于抓住
时机的人徐少春 299
第11堂课 日期和时间的处理技术 301
视频讲解:108分钟
11.1 php的时间观念 302
11.1.1 在php.ini文件中设置时区 302
11.1.2 通过date_default_timezone_set函数
设置时区 302
11.2 unix时间戳 302
11.2.1 获取任意日期、时间的时间戳 303
11.2.2 获取当前时间戳 303
11.2.3 日期、时间转换为unix时间戳 304
11.3 日期和时间的处理 304
11.3.1 格式化日期和时间 305
11.3.2 获取日期和时间信息 306
11.3.3 检验日期和时间的有效性 307
11.4 照猫画虎——基本功训练 308
11.4.1 基本功训练1——获取指定时间的unix
时间戳 308
11.4.2 基本功训练2——获取系统当前时间的
时间戳 308
11.4.3 基本功训练3——输出系统当前时间 309
11.4.4 基本功训练4——倒计时 309
11.4.5 基本功训练5——获取本地时间 310
11.5 情景应用——拓展与实践 310
11.5.1 情景应用1——比较两个时间的大小 310
11.5.2 情景应用2——网页闹钟 311
11.5.3 情景应用3——计算程序的运行时间 311
11.5.4 情景应用4——输出中文格式的日期和
时间 312
11.5.5 情景应用5——检验日期和时间的
有效性 312
11.6 自我测试 313
11.7 行动指南 314
11.8 成功可以复制——c#语言之父
安德斯·海尔斯伯格 315
第12堂课 图形图像处理技术 317
视频讲解:125分钟
12.1 了解gd2函数库 318
12.2 设置gd2函数库 318
12.3 学习常用图像处理技术 318
12.3.1 创建画布 319
12.3.2 颜色处理 319
12.3.3 绘制文字 320
12.3.4 输出图像 322
12.3.5 销毁图像 323
12.4 运用jpgraph类库绘制图像 323
12.4.1 jpgraph类库简介 323
12.4.2 jpgraph的安装 323
12.4.3 jpgraph创建3d饼形图展示部门
业绩比较 324
12.5 照猫画虎——基本功训练 325
12.5.1 基本功训练1——绘制一个正方形 325
12.5.2 基本功训练2——在画布中输出一行
英文字符串 326
12.5.3 基本功训练3——在背景图像上输出
北京欢迎您 326
12.5.4 基本功训练4——在照片上书写文字 327
12.5.5 基本功训练5——jpgraph创建折线图
分析图书销售走势 328
12.6 情景应用——拓展与实践 329
12.6.1 情景应用1——gd2函数生成图像
验证码 329
12.6.2 情景应用2——通过图像显示密码
安全强度 330
12.6.3 情景应用3——通过柱状图展示2010年
第一季度编程词典销量 331
12.6.4 情景应用4——通过折线图分析2010年
公司销售额 333
12.6.5 情景应用5——通过饼形图区块分析2010
年图书销量 334
12.6.6 情景应用6——制作生活画册 334
12.7 自我测试 336
12.8 行动指南 337
12.9 成功可以复制——因特网的点火人
马克·安德森 338
第13堂课 文件目录处理技术 341
视频讲解:95分钟
13.1 基本的文件处理技术 342
13.1.1 打开一个文件 342
13.1.2 读取文件内容 344
13.1.3 向文件中写入数据 347
13.1.4 关闭文件指针 349
13.2 目录操作技术 349
13.2.1 打开指定目录 349
13.2.2 读取目录结构 349
13.2.3 关闭目录指针 350
13.3 文件的上传技术 350
13.3.1 开启文件上传功能 351
13.3.2 全局变量$_files应用 351
13.3.3 将上传文件移动到指定目录 353
13.3.4 文件下载技术 354
13.4 照猫画虎——基本功训练 355
13.4.1 基本功训练1——通过文本文件统计网站
访问量 355
13.4.2 基本功训练2——读取文本文件中存储的
用户注册协议 356
13.4.3 基本功训练3——通过文本文件存储网站
访问记录 356
13.4.4 基本功训练4——验证指定的目录
是否存在 357
13.4.5 基本功训练5——控制上传文件的大小和
格式 358
13.5 情景应用——拓展与实践 359
13.5.1 情景应用1——规范化的文件上传 359
13.5.2 情景应用2——规范化的多文件上传 360
13.5.3 情景应用3——header()函数执行文件
下载 361
13.5.4 情景应用4——文本文件的分页
输出 362
13.5.5 情景应用5——将数据以二进制格式
上传到数据库 364
13.6 自我测试 365
13.7 行动指南 366
13.8 成功可以复制——知识改变命运、科技改变生活李彦宏 367
第3部分 高级篇
第14堂课 面向对象的程序设计 371
视频讲解:180分钟
14.1 一切皆是对象 372
14.1.1 什么是类 372
14.1.2 对象的由来 372
14.1.3 面向对象的特点 373
14.2 类的声明 373
14.2.1 类的定义 373
14.2.2 成员属性 374
14.2.3 成员方法 375
14.3 类的实例化 375
14.3.1 创建对象 375
14.3.2 访问类中成员 376
14.3.3 特殊的访问方法——“$this”和“::” 377
14.3.4 构造方法和析构方法 378
14.4 面向对象的封装特性 379
14.4.1 public(公共成员) 379
14.4.2 private(私有成员) 380
14.4.3 protected(保护成员) 380
14.5 面向对象的继承特性 381
14.5.1 类的继承——extends关键字 381
14.5.2 类的继承——parent::关键字 382
14.5.3 覆盖父类方法 383
14.6 抽象类和接口 384
14.6.1 抽象类 384
14.6.2 接口 385
14.7 面向对象的多态性 387
14.7.1 通过继承实现多态 387
14.7.2 通过接口实现多态 388
14.8 面向对象的关键字 388
14.8.1 final关键字 388
14.8.2 static关键字——声明静态类成员 389
14.8.3 clone关键字——克隆对象 390
14.9 面向对象的魔术方法 391
14.9.1 __set()和__get()方法 391
14.9.2 __isset()和__unset()方法 391
14.9.3 __call()方法 392
14.9.4 __tostring()方法 392
14.9.5 __autoload()方法 393
14.10 照猫画虎——基本功训练 394
14.10.1 基本功训练1——编写一个矩形类 394
14.10.2 基本功训练2——用构造方法初始化 395
14.10.3 基本功训练3——this关键字的用途 395
14.10.4 基本功训练4——方法参数传递 396
14.10.5 基本功训练5——方法的覆盖 397
14.11 情景应用——拓展与实践 397
14.11.1 情景应用1——数据统计类中定义
求数值平方的方法 397
14.11.2 情景应用2——封装一个数据库
连接类 399
14.11.3 情景应用3——封装一个数据库
操作类 400
14.11.4 情景应用4——封装分页类 401
14.11.5 情景应用5——封装特殊字符转义类 402
14.12 自我测试 403
14.13 行动指南 404
14.14 成功可以复制——中国通信设备
行业的领跑者任正非 405
第15堂课 php与xml技术 407
视频讲解:160分钟
15.1 xml的概述 408
15.2 xml语法 408
15.2.1 xml文档结构 408
15.2.2 xml声明 408
15.2.3 处理指令 409
15.2.4 注释 409
15.2.5 xml元素 409
15.2.6 xml属性 410
15.2.7 使用cdata标记 410
15.2.8 xml命名空间 411
15.3 simplexml系列函数操作xml 411
15.3.1 创建simplexml对象 411
15.3.2 遍历所有子元素 412
15.3.3 遍历所有属性 413
15.3.4 访问特定节点元素和属性 414
15.3.5 修改xml数据 414
15.3.6 保存xml文档 415
15.4 rss阅读器 416
15.4.1 rss概述 416
15.4.2 rss 2.0的标准 417
15.4.3 创建支持rss阅读的站点 419
15.5 照猫画虎——基本功训练 422
15.5.1 基本功训练1——动态创建xml
文档 422
15.5.2 基本功训练2——动态读取xml
文档 424
15.5.3 基本功训练3——通过xpath查询xml
中的数据 426
15.5.4 基本功训练4——动态更新xml中的
数据 428
15.5.5 基本功训练5——动态删除xml中的
数据 430
15.6 情景应用——拓展与实践 432
15.6.1 情景应用1——创建rss阅读器的
框架 432
15.6.2 情景应用2——树状导航菜单输出
频道组和频道 434
15.6.3 情景应用3——ajax无刷新读取
订阅信息 435
15.6.4 情景应用4——添加频道组 437
15.6.5 情景应用5——添加频道 438
15.7 自我测试 441
15.8 行动指南 441
15.9 成功可以复制——中国网络游戏产业的
领军人陈天桥 442
第16堂课 pdo数据库抽象层 445
视频讲解:82分钟
16.1 什么是pdo 446
16.1.1 pdo概述 446
16.1.2 pdo特点 446
16.1.3 安装pdo 446
16.2 pdo连接数据库 447
16.2.1 pdo构造函数 447
16.2.2 dsn详解 447
16.3 pdo中执行sql语句 448
16.3.1 exec()方法 448
16.3.2 query()方法 448
16.3.3 预处理语句——prepare()和execute() 448
16.4 pdo中获取结果集 449
16.4.1 fetch()方法 449
16.4.2 fetchall()方法 450
16.4.3 fetchcolumn()方法 451
16.5 pdo中捕获sql语句中的错误 453
16.5.1 使用默认模式——pdo::
errmode_silent 453
16.5.2 使用警告模式——pdo::
errmode_warning 454
16.5.3 使用异常模式——pdo::
errmode_exception 455
16.6 pdo中错误处理 456
16.6.1 errorcode()方法 456
16.6.2 errorinfo()方法 457
16.7 pdo中事务处理 459
16.8 pdo中存储过程 460
16.9 照猫画虎——基本功训练 461
16.9.1 基本功训练1——连接mysql
数据库 461
16.9.2 基本功训练2——通过pdo向数据库中
添加数据 462
16.9.3 基本功训练3——通过pdo浏览
数据库中数据 463
16.9.4 基本功训练4——通过pdo更新
数据库中数据 464
16.9.5 基本功训练5——连接ms sql server
数据库 466
16.10 情景应用——拓展与实践 467
16.10.1 情景应用1——明日书店会员注册 467
16.10.2 情景应用2——明日书店会员登录 468
16.10.3 情景应用3——添加留言信息 469
16.10.4 情景应用4——浏览客户留言 470
16.10.5 情景应用5——查询留言内容 471
16.11 自我测试 472
16.12 行动指南 473
16.13 成功可以复制——中国第一程序员求伯君 474
第17堂课 smarty模板技术 477
视频讲解:162分钟
17.1 smarty模板引擎 478
17.1.1 smarty模板引擎下载 478
17.1.2 smarty模板引擎安装 479
17.1.3 smarty模板引擎配置 479
17.1.4 走进smarty模板引擎 481
17.2 smarty模板设计——静态页处理 482
17.2.1 基本语法(注释、函数和属性) 482
17.2.2 smarty模板设计变量 483
17.2.3 变量调节器 484
17.2.4 内建函数(动态文件、模板文件的包含和
流程控制语句) 485
17.2.5 自定义函数 487
17.2.6 配置文件 487
17.3 smarty程序设计——动态文件
操作 489
17.3.1 smarty_path常量 489
17.3.2 smarty程序设计变量 489
17.3.3 smarty方法 489
17.3.4 smarty缓存 490
17.4 照猫画虎——基本功训练 492
17.4.1 基本功训练1——封装smarty模板的配置
方法 492
17.4.2 基本功训练2——smarty模板中的
页面设计 493
17.4.3 基本功训练3——if语句判断当前
用户权限 494
17.4.4 基本功训练4——smarty模板中日期、
时间的格式化输出 496
17.4.5 基本功训练5——register_object方法注册
模板对象 496
17.5 情景应用——拓展与实践 498
17.5.1 情景应用1——smarty模板中的truncate
方法截取字符串 498
17.5.2 情景应用2——smarty模板制作后台管理
系统主页 499
17.5.3 情景应用3——html_option函数向下拉
列表中添加列表项 501
17.5.4 情景应用4——smarty模板中应用正则
表达式 503
17.5.5 情景应用5——开启网站登录页面的
缓存 505
17.6 自我测试 506
17.7 行动指南 507
17.8 成功可以复制——征途巨人
史玉柱 508
第18堂课 zend framework框架 511
视频讲解:145分钟
18.1 zend framework的mvc介绍 512
18.1.1 zend framework概述 512
18.1.2 zend framework常用组件 512
18.1.3 mvc原理 512
18.2 zend framework的mvc环境
搭建 513
18.2.1 环境配置 513
18.2.2 框架结构 514
18.2.3 创建流程 515
18.2.4 zend framework的编码标准 518
18.3 zend_auth身份认证 519
18.3.1 zend_auth适配器 519
18.3.2 身份持久认证 520
18.3.3 数据库认证 523
18.4 zend_db数据库操作 524
18.4.1 zend_db_adapter数据库操作 524
18.4.2 zend_db_table数据库操作 524
18.4.3 数据表类 526
18.5 zend_file文件控制 530
18.5.1 使用zend_file_transfer_adapter_http
实现post方式文件上传 530
18.5.2 对上传文件的合理性验证 531
18.5.3 为上传增加过滤规则 532
18.6 zend_layout网站布局 533
18.6.1 zend_layout概述 533
18.6.2 zend_layout使用方法 533
18.6.3 zend_layout应用实例 534
18.7 zend_paginator分页 536
18.7.1 zend_paginator简介 536
18.7.2 zend_paginator分页方法 536
18.7.3 zend_paginator分页应用 537
18.8 照猫画虎——基本功训练 540
18.8.1 基本功训练1——通过zend_acl控制
角色和资源的权限 540
18.8.2 基本功训练2——比较缓存日期与
本地日期 542
18.8.3 基本功训练3——应用zend_config配置
站点初始参数 544
18.8.4 基本功训练4——应用zend_form制作
用户注册表单 547
18.8.5 基本功训练5——应用zend_mail
发送邮件 549
18.9 情景应用——拓展与实践 551
18.9.1 情景应用1——应用zend framework
进行用户身份验证 551
18.9.2 情景应用2——应用zend framework
实现查询结果关键字描红 553
18.9.3 情景应用3——应用zend framework
设计新闻发布系统首页 556
18.9.4 情景应用4——应用zend_paginaator
实现数据分页显示 560
18.9.5 情景应用5——应用zend_mail
接收邮件 561
18.10 自我测试 564
18.11 行动指南 564
18.12 成功可以复制——创造互联网搜索
时代拉里·佩奇和谢尔盖·布林 565
第19堂课 php的安全与防护 567
视频讲解:40分钟
19.1 php加密函数 568
19.1.1 使用crypt()函数进行加密 568
19.1.2 使用md5()函数进行加密 569
19.1.3 使用sha1()函数进行加密 570
19.2 php加密扩展库 570
19.2.1 mcrypt扩展库 570
19.2.2 mhash扩展库 571
19.3 php漏洞和防护措施 572
19.3.1 本地文件包含漏洞 572
19.3.2 远程文件包含漏洞 573
19.3.3 文件上传漏洞 573
19.3.4 提交表单漏洞 574
19.3.5 sql注入漏洞 575
19.4 照猫画虎——基本功训练 575
19.4.1 基本功训练1——通过crypt()函数进行
加密 575
19.4.2 基本功训练2——通过md5()函数进行
加密 576
19.4.3 基本功训练3——通过sha1()函数进行
加密 576
19.4.4 基本功训练4——通过mcrypt()函数进行
加密、解密操作 577
19.4.5 基本功训练5——通过mhash()扩展库
进行加密、解密 578
19.5 情景应用——拓展与实践 578
19.5.1 情景应用1——通过crypt()函数对用户
注册密码进行加密 578
19.5.2 情景应用2——通过md5()函数对用户
注册密码进行加密 579
19.5.3 情景应用3——通过自定义函数实现
加密操作 580
19.5.4 情景应用4——隐藏php文件
扩展名 580
19.5.5 情景应用5——禁止用户输入
敏感字符 581
19.6 自我测试 583
19.7 行动指南 584
19.8 成功可以复制——初中站长的创业
故事李兴平 585
第20堂课 php的字符编码 587
视频讲解:79分钟
20.1 字符集和编码 588
20.1.1 iso 8859 字符集 588
20.1.2 gb2312与gbk字符集 588
20.1.3 unicode字符集 589
20.1.4 utf-8编码 589
20.2 php网页的字符编码 590
20.2.1 设置编码格式 590
20.2.2 转换编码格式 591
20.2.3 检测字符串的编码 592
20.3 php开发中的乱码问题 593
20.3.1 解决页面中的乱码问题 593
20.3.2 数据库中的字符集编码问题 594
20.3.3 避免截取中文字符串时出现乱码 595
20.4 照猫画虎——基本功训练 596
20.4.1 基本功训练1——dreamweaver中编码
格式的选择 596
20.4.2 基本功训练2——创建gb2312编码
格式的网页 597
20.4.3 基本功训练3——通过iconv()函数实现
编码格式的转换 598
20.4.4 基本功训练4——通过header()函数
设置php脚本文件的编码格式 599
20.4.5 基本功训练5——设置mysql数据库中
数据的编码格式 599
20.5 情景应用——拓展与实践 601
20.5.1 情景应用1——采用utf-8编码设计论坛
网页 601
20.5.2 情景应用2——以utf8编码输出论坛中
数据 602
20.5.3 情景应用3——论坛中控制帖子标题
输出的长度 603
20.5.4 情景应用4——完成论坛中帖子的
发布 605
20.5.5 情景应用5——对输出的数据进行编码
格式转换 606
20.6 自我测试 607
20.7 行动指南 608
20.8 成功可以复制——暴雪公司的
领航者迈克·莫汉 609
第21堂课 程序调试与错误处理 611
视频讲解:112分钟
21.1 基本调试策略 612
21.2 常见错误分析 612
21.2.1 语法错误 613
21.2.2 定义错误 615
21.2.3 逻辑错误 616
21.2.4 运行错误 616
21.2.5 环境错误 618
21.3 php.ini中的错误处理机制 619
21.3.1 控制错误显示以及显示方式 619
21.3.2 控制错误的级别 619
21.4 程序调试方法 620
21.4.1 应用die语句调试 620
21.4.2 应用mysql_error()语句输出
错误信息 621
21.5 错误处理技巧 622
21.5.1 隐藏错误 622
21.5.2 自定义错误页面 622
21.6 照猫画虎——基本功训练 623
21.6.1 基本功训练1——解决程序的语法
错误 623
21.6.2 基本功训练2——计算商品的折扣
价格 624
21.6.3 基本功训练3——连接不存在的
数据库 624
21.6.4 基本功训练4——运行缺少第三方组件
的程序 625
21.6.5 基本功训练5——通过readfile ()函数
访问远程文件 626
21.7 情景应用——拓展与实践 626
21.7.1 情景应用1——分析、解决php与
mysql连接错误 626
21.7.2 情景应用2——解决数据库乱码
问题 628
21.7.3 情景应用3——封装异常处理类 629
21.7.4 情景应用4——使用错误处理器记录
日志 630
21.7.5 情景应用5——通过phpmyadmin调试
sql语句中的错误 631
21.8 自我测试 632
21.9 行动指南 632
21.10 成功可以复制——java技术
之父james gosling 633
第4部分 实战篇
第22堂课 应用smarty模板开发电子商务
网站 637
视频讲解:65分钟
22.1 开发背景 638
22.2 需求分析 638
22.3 系统分析 638
22.3.1 系统目标 638
22.3.2 系统功能结构 639
22.3.3 开发环境 639
22.3.4 文件夹组织结构 640
22.4 数据库设计 641
22.4.1 数据库分析 641
22.4.2 创建数据库和数据表 642
22.5 公共文件设计 643
22.5.1 数据库连接、管理和分页类文件 643
22.5.2 smarty模板配置类文件 646
22.5.3 执行类的实例化文件 646
22.6 前台首页设计 646
22.6.1 前台首页概述 646
22.6.2 前台首页技术分析 647
22.6.3 前台首页实现过程 647
22.7 登录模块设计 649
22.7.1 登录模块概述 649
22.7.2 登录模块技术分析 650
22.7.3 用户注册 651
22.7.4 用户登录 653
22.7.5 找回密码 655
22.8 会员信息模块设计 660
22.8.1 会员信息模块概述 660
22.8.2 会员信息模块技术分析 660
22.8.3 会员中心 661
22.8.4 安全退出 664
22.9 商品展示模块设计 665
22.9.1 商品展示模块概述 665
22.9.2 商品展示模块技术分析 665
22.9.3 商品展示模块的实现过程 666
22.10 购物车模块设计 669
22.10.1 购物车模块概述 669
22.10.2 购物车模块技术分析 669
22.10.3 购物车展示 671
22.10.4 更改商品数量 673
22.10.5 删除商品 674
22.10.6 保存购物车 676
22.11 收银台模块设计 678
22.11.1 收银台模块概述 678
22.11.2 收银台模块技术分析 678
22.11.3 显示订单 678
22.11.4 填写订单 679
22.11.5 处理订单 679
22.12 后台首页设计 681
22.12.1 后台首页概述 681
22.12.2 后台首页技术分析 681
22.12.3 后台首页实现过程 683
22.13 开发技巧与难点分析 684
22.13.1 解决ajax的乱码问题 684
22.13.2 使用js脚本获取、输出标签内容 685
22.13.3 禁用页面缓存 685
22.13.4 在新窗口中使用session 685
22.13.5 判断上传文件格式 685
22.13.6 设置服务器的时间 686
22.14 开发总结 686
第23堂课 zend framework框架开发明日
搜索引擎 687
视频讲解:80分钟
23.1 明日搜索引擎概述 688
23.2 开发背景 688
23.3 需求分析 688
23.4 系统分析 688
23.4.1 功能结构 689
23.4.2 开发环境 689
23.5 数据库设计 689
23.5.1 数据库分析 690
23.5.2 数据库概念设计 690
23.5.3 创建数据库及数据表 691
23.6 技术攻关 692
23.6.1 类似google搜索引擎的搜索条 692
23.6.2 使用空格分隔多关键字 696
23.6.3 关键字描红 699
23.6.4 制作在线编辑器 701
23.7 mvc框架结构搭建 703
23.8 首页设计 704
23.8.1 首页概述 704
23.8.2 首页技术分析 705
23.8.3 首页的实现过程 705
23.9 用户模块设计 708
23.9.1 用户模块概述 708
23.9.2 用户模块技术分析 708
23.9.3 用户注册的实现过程 710
23.9.4 用户登录的实现过程 712
23.10 发表问题模块设计 714
23.10.1 发表问题模块概述 714
23.10.2 发表问题模块技术分析 715
23.10.3 发表问题模块实现过程 716
23.11 回复问题模块设计 718
23.11.1 回复问题模块概述 718
23.11.2 回复问题模块技术分析 719
23.11.3 回复问题模块实现过程 719
23.12 程序调试与错误处理 720
23.12.1 项目开发过程中常见错误及解决方法 721
23.12.2 自定义错误页面 721
23.13 开发总结 722
特别提醒:
亲爱的读者朋友,由于近期纸张价格和印制成本大幅上涨,为不增加读者朋友的负担,又不减少书的内容,本书以下章节内容不得不放在配书光盘中,由此给您带来了不便,在此深表歉意。
第24堂课 学校图书馆管理系统 723
视频讲解:150分钟
(本章内容在配书光盘中)
24.1 开发背景 724
24.2 需求分析 724
24.3 系统设计 724
24.3.1 系统目标 724
24.3.2 系统功能结构 725
24.3.3 系统流程图 725
24.3.4 开发环境 725
24.3.5 文件夹组织结构 726
24.4 数据库设计 727
24.4.1 数据库分析 727
24.4.2 数据库概念设计 727
24.4.3 创建数据库及数据表 728
24.5 首页设计 729
24.5.1 首页概述 729
24.5.2 首页技术分析 730
24.5.3 首页的实现过程 730
24.6 管理员模块设计 731
24.6.1 管理员模块概述 731
24.6.2 管理员模块技术分析 732
24.6.3 系统登录的实现过程 732
24.6.4 查看管理员的实现过程 734
24.6.5 添加管理员的实现过程 735
24.6.6 设置管理员权限的实现过程 736
24.6.7 删除管理员的实现过程 738
24.7 图书档案管理模块设计 738
24.7.1 图书档案管理模块概述 738
24.7.2 图书档案管理模块技术分析 739
24.7.3 查看图书信息列表的实现过程 739
24.7.4 添加图书信息的实现过程 740
24.7.5 修改图书信息的实现过程 742
24.7.6 删除图书信息的实现过程 743
24.8 图书借还模块设计 743
24.8.1 图书借还模块概述 743
24.8.2 图书借还模块技术分析 744
24.8.3 图书借阅的实现过程 744
24.8.4 图书续借的实现过程 747
24.8.5 图书归还的实现过程 748
24.8.6 图书借阅查询的实现过程 749
24.9 开发技巧与难点分析 752
24.9.1 如何自动计算图书归还日期 752
24.9.2 如何对图书借阅信息进行统计排行 752
24.10 开发总结 753
附录a php编码规则 755
(本章内容在配书光盘中)
a.1 php file文件格式 755
a.1.1 常规 755
a.1.2 缩进 755
a.1.3 行的最大长度 755
a.1.4 行结束标志 755
a.1.5 引号 755
a.1.6 运算符、小括号、空格和关键词 756
a.2 命名约定 757
a.2.1 类 757
a.2.2 接口 757
a.2.3 文件名 757
a.2.4 函数和方法 758
a.2.5 变量 758
a.2.6 常量 759
a.2.7 数据库表和字段 759
a.3 编码风格 759
a.3.1 php代码划分(demarcation) 759
a.3.2 字符串 759
a.3.3 数组 760
a.3.4 类 760
a.3.5 函数和方法 761
a.3.6 控制语句 762
a.3.7 数据库 763
a.3.8 注释文档 764
学通PHP的24堂课
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!