《PHP MySQL动态网站开发》是2012年6月19日出版的图书,作者是丁月光、孙更新、闫吉辉。
基本介绍
- 书名:PHP MySQL动态网站开发
- 作者:丁月光、孙更新、闫吉辉
- ISBN:9787302186908
- 定价:48元
- 出版时间:2012年6月19日
- 装帧:平装
图书简介
本书详细介绍了PHP的脚本语言基础、运行环境和PHP面向对象编程(包括MySQL资料库)的知识。
全书共19章,内容分为理论部分和实战部分。理论部分包括PHP技术概述和基本语法、字元串和正则表达式、数组和函式、档案和目录操作、PHP的异常处理机制、XML档案操作、Session和Cookie会话管理、Smarty模板引擎、Ajax技术和MySQL资料库。实战部分包括线上投票系统、会员管理系统和新闻发布系统三个完整的示例。
本书注重将理论讲解与工程套用结合起来,选择的案例是作者实践的结晶,能提高读者学习的积极性和效率,通过学习这些案例,读者能够掌握本书的精髓,并可以直接套用到动态网站的实际开发中。
本书内容丰富,语言讲解详细準确,操作性强,适合学习动态网页製作的初级读者,也适合作为高等院校本、专科各专业动态网页製作课程的教材,还可以作为网页设计与製作爱好者的自学参考书。
全书共19章,内容分为理论部分和实战部分。理论部分包括PHP技术概述和基本语法、字元串和正则表达式、数组和函式、档案和目录操作、PHP的异常处理机制、XML档案操作、Session和Cookie会话管理、Smarty模板引擎、Ajax技术和MySQL资料库。实战部分包括线上投票系统、会员管理系统和新闻发布系统三个完整的示例。
本书注重将理论讲解与工程套用结合起来,选择的案例是作者实践的结晶,能提高读者学习的积极性和效率,通过学习这些案例,读者能够掌握本书的精髓,并可以直接套用到动态网站的实际开发中。
本书内容丰富,语言讲解详细準确,操作性强,适合学习动态网页製作的初级读者,也适合作为高等院校本、专科各专业动态网页製作课程的教材,还可以作为网页设计与製作爱好者的自学参考书。
目录
第1章PHP概述 1
1.1PHP简介 1
1.1.1PHP代码形式介绍 1
1.1.2PHP能做什幺 2
1.2PHP的发展历史 3
1.3PHP的先进之处 5
1.4PHP5的新特性 5
1.4.1PHP4的局限 5
1.4.2Zend2.0开始开发 6
1.4.3PHP5的性能 6
1.5PHP5与动态网站的构建 13
1.6PHP编辑工具介绍 15
1.7本章小结 17
第2章搭建PHP5的开发环境 18
2.1搭建PHP开发环境 18
2.1.1软体準备 18
2.1.2Apache伺服器的安装
和配置 19
2.1.3PHP的安装和配置 21
2.1.4MySQL的安装 22
2.1.5PEAR的安装 26
2.1.6phpMyAdmin的安装 28
2.1.7运行环境测试 29
2.1.8其他平台上的配置 29
2.2站点设定 33
2.2.1单站点设定 33
2.2.2多站点设定 34
2.3PHP的HelloWorld预览 35
2.4PHP帮助文档的使用 36
2.5本章小结 37
第3章PHP的基本语法 38
3.1程式设计规範 38
3.1.1注释的使用 38
3.1.2PHP中的命名规则 40
3.2PHP的数据类型 40
3.2.1布尔型(Boolean)与NULL 40
3.2.2字元串(String) 41
3.2.3整型(integer) 43
3.2.4浮点型(Double/Float) 44
3.2.5数组(Array) 45
3.2.6对象(Object) 45
3.3运算符和关键字 46
3.3.1算术运算符 46
3.3.2字元串运算符 47
3.3.3赋值运算符 47
3.3.4比较运算符 48
3.3.5逻辑运算符 49
3.3.6位运算符 49
3.3.7自增与自减运算符 50
3.3.8PHP的关键字 50
3.4条件语句 51
3.4.1if-else语句 51
3.4.2switch语句 53
3.4.3三元条件语句 55
3.5循环语句 55
3.5.1for循环 55
3.5.2while循环 59
3.5.3do-while循环 60
3.5.4foreach循环 62
3.5.5break与continue 65
3.5.6实例:九九乘法口诀表的
列印 65
3.6本章小结 67
第4章PHP字元串操作与正则表达式 68
4.1字元串的定义 68
4.2字元串的格式化 68
4.2.1字元串整理:chop()、ltrim()
和trim() 69
4.2.2addslashes()和stripslashes() 70
4.2.3字元串的大小写转换 70
4.3字元串的连线和分割 71
4.3.1使用explode()、implode()
和join() 71
4.3.2使用strtok()函式 73
4.3.3使用substr()函式 73
4.4字元串的比较 74
4.4.1字元串的排序:strcmp()、
strcasecmp()和strnatcmp() 74
4.4.2获取字元串长度 75
4.5字元串的查找和替换 75
4.5.1字元串的查找:strstr()、
stristr()和strrchr() 75
4.5.2查找子字元串的位置:
strpos()、strrpos() 76
4.5.3字元串的替换:str_replace()、
substr_replace() 77
4.6字元串的加密和编码 79
4.6.1字元串的MD5加密 79
4.6.2字元串的编码 79
4.7正则表达式简介 80
4.7.1普通字元 81
4.7.2非列印字元 81
4.7.3特殊字元 81
4.7.4限定符 82
4.7.5定位符 83
4.7.6选择 83
4.7.7后向引用 83
4.7.8几个正则表达式匹配的例子 83
4.7.9常用的正则表达式 84
4.7.10其他注意事项 85
4.8PHP的正则表达式操作 85
4.8.1获得与模式匹配的数组单元:
preg_grep 85
4.8.2进行全局正则表达式的匹配:
preg_match_all 86
4.8.3进行正则表达式的匹配:
preg_match 86
4.8.4转义正则表达式字元:
preg_quote 87
4.8.5执行正则表达式的搜寻和
替换函式:preg_replace 87
4.8.6通过回调函式执行正则
表达式的搜寻和替换——
preg_replace_callback 88
4.8.7用正则表达式进行字元串
分割preg_split 89
4.9正则表达式的Web验证套用 89
4.9.1电子邮件地址的校验 89
4.9.2多位元组字元的校验 90
4.9.3URL地址的校验 90
4.9.4电话号码和邮政编码的
校验 90
4.10本章小结 91
第5章数组 92
5.1数组基础 92
5.1.1什幺是数组 92
5.1.2创建数组 92
5.1.3引用数组元素 93
5.1.4一维数组和二维数组 95
5.2运算元组 95
5.2.1遍历数组 95
5.2.2修改数组 98
5.2.3递增排序:sort 100
5.2.4递减排序:rsort 102
5.2.5随机排序 103
5.3数组的其他常用操作 104
5.3.1顺序查找 104
5.3.2加总数组中的值 106
5.3.3线性表的入栈与出栈 107
5.3.4数组的合併 108
5.3.5数组的拆分 109
5.3.6取数组元素的最值 110
5.4本章小结 111
第6章函式 112
6.1自定义函式 112
6.1.1声明函式 112
6.1.2函式的调用 112
6.1.3函式传值 113
6.1.4函式的返回值 114
6.1.5变数的作用域 116
6.1.6检测函式是否可用 117
6.2常用数学函式概述 117
6.2.1取绝对值 117
6.2.2产生随机数 118
6.2.3获取整数部分 118
6.2.4数字格式化 119
6.2.5对浮点数进行四捨五入 119
6.3日期时间函式 120
6.3.1获取系统日期和时间 120
6.3.2格式化日期 121
6.3.3其他常用日期函式 123
6.4对象函式 123
6.4.1获取对象的类名称 123
6.4.2获取对象的方法名称 124
6.4.3判断类是否已定义 124
6.4.4判断对象的方法是否存在 125
6.5本章小结 125
第7章构建PHP动态网页 126
7.1Web表单及其常用元素简介 126
7.1.1表单标记form 126
7.1.2输入标记input与文本框 127
7.1.3按钮 128
7.1.4单选按钮与複选框 129
7.1.5多行文本区标记textarea
及FCKeditor简介 130
7.1.6下拉框与列表框标记
select 131
7.1.7在Web页面中嵌入PHP
代码 132
7.2PHP获取Web表单数据 132
7.2.1GET方法和POST方法 133
7.2.2PHP接收表单数据 135
7.2.3PHP获取环境变数 138
7.2.4PHP获取URL参数 140
7.3动态网页中常用的JavaScript
验证 140
7.3.1姓名验证 141
7.3.2日期验证 141
7.3.3E-mail地址验证 142
7.3.4密码栏位的验证 142
7.3.5改进的用户信息输入程式 142
7.4动态网页中常用的URL编码
解码函式 146
7.4.1字元串编码:urlencode 146
7.4.2解码字元串:urldecode 147
7.5本章小结 147
第8章PHP5的面向对象程式设计 148
8.1面向对象的概念 148
8.1.1什幺是类 148
8.1.2什幺是对象 148
8.1.3类和对象的关係 149
8.2PHP5中的类和对象 149
8.2.1类的创建 149
8.2.2定义类的属性 150
8.2.3定义类的方法 150
8.2.4对象的创建 151
8.2.5$this关键字 151
8.2.6构造函式 154
8.2.7析构函式 154
8.2.8对象的比较 156
8.2.9对象的克隆 158
8.3类的继承 159
8.3.1关于继承 159
8.3.2PHP5中类的继承 160
8.3.3私有变数和方法不被继承 160
8.3.4继承的简单例子 160
8.3.5访问控制 162
8.3.6parent关键字 165
8.4类的接口 167
8.4.1接口的定义 167
8.4.2实现接口 169
8.4.3多态性 173
8.4.4instanceof运算符 175
8.5本章小结 176
第9章档案和目录系统 177
9.1读写档案 177
9.1.1打开档案fopen 177
9.1.2写入档案fwrite 178
9.1.3读取档案fread 178
9.1.4关闭档案fclose 179
9.1.5其他几个操作 180
9.1.6示例:读取文本档案内容 181
9.2档案信息 182
9.2.1判断档案是否存在 182
9.2.2获取档案长度 182
9.2.3获取档案许可权 182
9.2.4修改档案许可权 183
9.3目录操作 184
9.3.1判断指定目录是否
存在is_dir 184
9.3.2创建目录mkdir 184
9.3.3删除目录rmdir 184
9.3.4显示指定目录信息
arraypathinfo 184
9.4综合示例:PHP实现Web套用
程式的档案管理 184
9.4.1获取指定磁碟信息 185
9.4.2判断指定档案或者目录
是否存在 185
9.4.3搜寻指定目录下的档案 185
9.4.4搜寻指定目录下子目录 186
9.4.5显示档案和子目录 187
9.5综合示例:在Web应用程式中实现
档案上传 189
9.5.1以POST方法上传档案 189
9.5.2上传多个档案 190
9.5.3档案MIME类型 191
9.6本章小结 192
第10章异常处理 193
10.1以往的异常处理办法 193
10.1.1通过php.ini配置程式
输出错误信息 193
10.1.2使用die()来终止程式
运行 195
10.1.3使用trigger_error()显示
自定义警告信息 196
10.1.4随时判断错误标识 198
10.1.5使用PEAR扩展类库
处理异常 201
10.2PHP5中的异常处理 203
10.2.1异常类Exception 203
10.2.2异常抛出关键字throw 205
10.2.3异常捕获try-catch语句 205
10.2.4异常处理函式设定
set_exception_handler 207
10.2.5完整的异常信息 207
10.3扩展的异常处理类 210
10.4异常的传递与重掷 212
10.5正确使用异常处理 213
10.6本章小结 214
第11章XML档案操作 215
11.1XML简介 215
11.1.1什幺是XML 215
11.1.2XML的特点 216
11.1.3XML和HTML的区别及
语法要求 217
11.2简单的XML操作 218
11.2.1创建一个SimpleXML
对象 220
11.2.2读取SimpleXML对象中的
XML数据 221
11.2.3XML数据的修改 222
11.2.4XML数据的存储 223
11.3XML文档的动态创建 224
11.4XML套用示例:留言本 226
11.4.1XML档案结构设计 226
11.4.2提交页面的编写 226
11.4.3显示页面的编写 229
11.5本章小结 231
第12章PHP5的会话管理 232
12.1Session与会话管理 232
12.1.1Session概念 232
12.1.2使用Session 233
12.1.3设定Session生命周期 233
12.1.4注册Session 233
12.1.5删除Session 235
12.1.6Session在动态网站中的套用
举例:用户登录验证 235
12.2Cookie与会话管理 237
12.2.1Cookie概念 238
12.2.2Cookie的优缺点 238
12.2.3设定Cookie 240
12.2.4接收和处理Cookie 240
13.2.5删除Cookie 241
12.2.6使用Cookie的限制 241
12.2.7Cookie在动态网站中的套用
举例:简单购物车的实现 241
12.3本章小结 246
第13章PHP5与MySQL 248
13.1MySQL资料库 248
13.1.1MySQL资料库简介 248
13.1.2MySQL数据组织 249
13.1.3MySQL数据类型 249
13.2SQL句法简介 251
13.2.1资料库的创建及删除 251
13.2.2表的创建、删除及更名 252
13.2.3记录的增加 253
13.2.4记录的删除 254
13.2.5记录的查询 255
13.2.6记录的修改 256
13.3MySQL运算符 257
13.3.1算数运算符 258
13.3.2比较运算符 258
13.3.3逻辑运算符 260
13.3.4位运算符 260
13.4MySQL函式 261
13.4.1数学函式 261
13.4.2字元串函式 262
13.4.3日期和时间函式 264
13.4.4加密函式 267
13.4.5控制流函式 268
13.4.6与GROUPBY子句同时
使用的函式 269
13.5PHP5操作MySQL资料库 269
13.5.1建立PHP5与MySQL
资料库的连线 269
13.5.2选择查询要作用的MySQL
资料库 270
13.5.3建立MySQL查询 270
13.5.4获取记录 270
13.5.5查询实例:在表单中显示
查询结果 271
13.5.6修改数据 274
13.5.7添加数据 276
13.5.8获取资料库信息 279
13.6示例:资料库操作类的实现
与套用 279
13.6.1创建类 279
13.6.2声明类变数 279
13.6.3连线资料库 279
13.6.4设定运算元据库行为 280
13.6.5声明类的对象变数 282
13.6.6使用类的属性和行为 282
13.6.7具体操作 282
13.7本章小结 283
第14章MySQL的高级套用 284
14.1MySQL与存储过程 284
14.1.1存储过程的创建 284
14.1.2存储过程的参数 285
14.1.3複合语句 287
14.1.4变数 287
14.1.5条件语句 288
14.1.6循环语句 288
14.1.7存储过程的查看、更改
和删除 289
14.1.8PHP5调用存储过程 290
14.2MySQL与触发器 290
14.2.1触发器的创建与触发 290
14.2.2查看已创建的触发器 292
14.2.3触发器的删除 292
14.3MySQL与视图 292
14.3.1视图的本质 292
14.3.2视图的创建 293
14.3.3视图的查看、修改
和删除 294
14.3.4视图的套用 294
14.4本章小结 299
第15章Smarty模板引擎 300
15.1Smarty简介 300
15.1.1什幺是Smarty 300
15.1.2Smarty的优点 300
15.2Smarty的安装与配置 301
15.2.1Smarty的安装 301
15.2.2Smarty的配置 301
15.3Smarty基本语法 303
15.3.1Smarty中的使用注释 303
15.3.2函式 303
15.3.3常量与变数的使用 306
15.3.4配置档案 311
15.3.5$smarty保留变数 313
15.3.6变数调节器 313
15.3.7组合变数调节器 315
15.3.8循环方法 316
15.3.9条件判断 320
15.3.10比较运算 321
15.3.11包含档案 322
15.3.12获取输出内容 323
15.4本章小结 325
第16章Ajax技术 326
16.1Ajax概述 326
16.1.1Ajax简介 327
16.1.2Ajax工作原理 328
16.1.3为什幺使用Ajax 329
16.2Ajax用到的核心技术 329
16.2.1XMLHttpRequest对象 332
16.2.2JavaScript语言 333
16.2.3DOM技术 334
16.2.4XML 334
16.3XMLHttpRequest对象 336
16.3.1对象初始化 336
16.3.2指定回响处理函式 337
16.3.3发出HTTP请求 338
16.3.4处理伺服器返回的信息 340
16.3.5初步开发框架 341
16.4Prototype框架 342
16.4.1Prototype简介 342
16.4.2常用函式 342
16.5Prototype对Ajax的支持 346
16.5.1AjaxOptions选项 346
16.5.2Ajax.PeriodicalUpdater类 348
16.5.3Ajax.Request类 348
16.5.4Ajax.Responders类 349
16.5.5Ajax.Updater类 351
16.6Prototype对象参考 351
16.6.1Array对象 351
16.6.2Class对象 352
16.6.3Date对象 352
16.6.4Form对象 352
16.7PHP5与Prototype在动态网站中的
套用举例 353
16.7.1登录界面 353
16.7.2伺服器端代码 354
16.7.3JavaScript控制 354
16.8本章小结 355
第17章开发示例:线上投票系统 356
17.1系统需求分析 356
17.1.1资料库方面 356
17.1.2访客投票的实现 356
17.1.3投票项目的新增、修改
和删除 356
17.1.4调查的统计分析结果 358
17.1.5预防投票作弊 358
17.1.6发布一个投票调查 358
17.2MySQL资料库设计 358
17.3投票界面 359
17.4伺服器端脚本代码 361
17.4.1资料库连线公共档案 361
17.4.2投票项目的新增、修改
和删除 361
17.4.3简版投票脚本 366
17.4.4完整显示投票项目脚本 367
17.4.5投票处理脚本 368
17.4.6新注册用户确认处理 372
17.4.7发布投票 373
17.4.8投票统计结果 375
17.5本章小结 376
第18章开发示例:会员管理系统 377
18.1系统需求分析 377
18.2系统预览 377
18.3MySQL资料库设计 381
18.4系统公共档案实现 382
18.4.1MySQL资料库基类 382
18.4.2Smarty模板基类 382
18.4.3Ajax公共脚本档案 382
18.4.4inc.php公共档案 383
18.4.5main.css样式表公共档案 383
18.4.6所有页面的头部、左侧目录
公共模板档案 386
18.5会员管理系统首页实现 387
18.6用户注册页面的实现 387
18.7用户登录页面的实现 391
18.8编辑用户信息页面实现 392
18.9用户照片上传页面的实现 394
18.10用户注销登录页面 396
18.11会员列表页面 396
18.12PHP程式脚本 401
18.13本章小结 406
第19章开发示例:新闻发布系统 407
19.1系统需求分析 407
19.2系统预览 407
19.3MySQL资料库设计 412
19.4系统公共档案实现 412
19.4.1MySQL资料库基类 412
19.4.2Smarty模板基类 412
19.4.3FCKeditor所见即所得
基类 412
19.4.4Ajax公共脚本档案 413
19.4.5inc.php公共档案 413
19.4.6main.css样式表公共档案 413
19.4.7后台页面的头部、底部公共
模板档案 420
19.4.8后台页面动态生成下拉框
所用的js档案 421
19.4.9栏目目录、新闻业务
基类 422
19.5新闻发布系统首页的实现 428
19.6新闻栏目列表页面的实现 431
19.7新闻详细显示页面 433
19.8后台管理页面的实现 435
19.9Ajax传值实现 441
19.10本章小结 442
附录A正则表达式中元字元的行为 443