《PHP+Ajax Web 2.0编程技术与项目开发大全》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:叶新伟等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121062247
  • 页数:574 页
图书介绍:本书系统、具体地介绍了PHP编程基础、项目开发技巧,以及PHP与Ajax的交互设计。全书共分24章,以实际的项目作为例子贯穿始终,内容涵盖了PHP项目开发的各个方面,从基础语法、数据库基础、需求分析、数据库设计到附件处理、评论处理、站内搜索、登录验证、后台管理、安全部署等各方面的实用技巧。此外,本书重点介绍了Ajax技术的应用。本书最大的特色在于每一章中涉及的例子都经过精挑细选,具有很强的针对性,力求让读者轻松掌握PHP项目开发的技巧和Ajax改善用户体验的各种技术,学习尽可能多的知识。本书适用于初、中级有一定基础的PHP程序员,同时也适合希望全面了解Ajax技术、掌握Ajax应用技巧的Web开发人员。

第1章 开发环境配置 2

1.1在Windows环境下配置IIS+PHP+MySQL+phpMyAdmin 3

1.1.1安装IIS 3

1.1.2安装PHP 4

1.1.3 PHP设置 5

1.1.4安装MySQL 9

1.1.5安装Zend Opmizer 10

1.1.6安装phpMyAdmin 11

1.2在Windows环境下配置Apache+PHP+MySQL+phpMyAdmin 13

1.3 LAMP平台的搭建 15

1.3.1安装Apache 15

1.3.2安装MySQL 16

1.3.3安装 PHP 18

1.3.4搭建快速开发平台 18

1.4本章小结 19

第2章 PHP语法 20

2.1 PHP入门 21

2.1.1第一个PHP网页 21

2.1.2网页中嵌入PHP程序 22

2.1.3语法格式 22

2.1.4 PHP中的注释 23

2.2 PHP的常量与变量 24

2.2.1什么是变量和常量 24

2.2.2定义变量 25

2.2.3定义常量 26

2.2.4变量的作用域 27

2.2.5变量的输出 29

2.2.6 PHP的表单变量 29

2.2.7 PHP的环境变量 31

2.2.8 PHP的系统常量 33

2.3 PHP的运算符 34

2.3.1算术运算符 34

2.3.2条件运算符与逻辑运算符 35

2.3 3字符串运算符 37

2.3.4 PHP的运算优先级 37

2.4 PHP的数据类型 38

2.41常用数据类型 39

2.4.2特殊的数据类型 39

2.4.3数据类型的查看和验证 40

2.5 PHP数据类型的转换 41

2.5.1转换成整型 41

2.5.2转换成字符串型 42

2.5.3转换成浮点型 42

2.5.4转换成布尔型 43

2.5.5强制类型转换 44

2.6实例 45

2.6.1静态变量使用实例 45

2.6.2数学运算符与优先级实例 46

2.7小结 46

第3章 PHP的常用语句 47

3.1流程控制语句 48

3.1.1 if条件语句 48

3.1.2 switch条件语句 50

3.1.3 for循环语句 52

3.1.4 while循环语句 54

3.1.5 do while循环语句 55

3.1.6转移控制语句:continue 56

3.1.7转移控制语句:break 57

3.1.8转移控制语句:return 57

3.2流程控制语句实例 58

3.2.1实例:输出表格 58

3.2.2实例:输出九九乘法口诀表 59

3.2.3实例:解一元二次方程 60

3.3文件包含 62

3.3.1使用require和require-once语句包含文件 62

3.3.2使用include和include once语句包含文件 65

3.4小结 66

第4章 函数 67

4.1函数的定义与调用 68

4.1.1函数的调用 68

4.1.2自定义函数 69

4.1.3自定义函数实例 70

4.2数学函数 71

4.2.1 rand与srand产生随机数 71

4.2.2随机数生成实例:生成数字代码 72

4.2.3数学函数 73

4.3时间函数 74

4.3.1获得日期时间信息函数getdate 74

4.3.2获得当前时间函数gettimeofday 76

4.3.3日期验证函数checkdate 77

4.3.4格式化本地日期时间函数date 78

4.3.5获得本地化时间戳函数mktime 80

4.4小结 81

第5章 数组 82

5.1数组的操作 83

5.1.1数组的理解 83

5.1.2数组的建立 84

5.1.3数组的访问 86

5.1.4数组的遍历 87

5.1.5数组的索引与键值操作技巧 89

5.2数组的常用函数 92

5.2.1使用so和rsort对数组排序 92

5.2.2使用aso和arsort对数组排序 93

5.2.3使用array-mulsort对数组进行排序 94

5.2.4数组与堆栈 95

5.2.5使用array-shift和array-unshift函数访问数组 96

5.2.6数组查找函数array-search 97

5.2.7其他数组函数 97

5.3数组应用实例 98

5.3.1实例:数组的排序与访问 99

5.3.2实例:数组的访问 100

5.4小结 101

第6章 字符串 102

6.1字符串的理解 103

6.2字符串的显示与格式化 103

6.2.1 echo和print输出字符串 103

6.2.2 sprintf字符串格式化输出 104

6.3字符串的常用操作 105

6.3.1字符串重复函数str-repeat 105

6.3.2字符串替换函数str replace 106

6.3.3字符串分解操作函数str-split 107

6.3.4字符串分解成单词函数str word-count 108

6.3.5字符串查找操作函数strstr 109

6.3.6字符串的长度函数strlen 110

6.3.7获得字符串函数substr 110

6.4小结 111

第7章 MySQL数据库 114

7.1数据库的启动与关闭 115

7.1.1服务管理方式启动与关闭MySql服务 115

7.1.2命令行方式管理MySql服务 116

7.2 phpMyAdmin管理MySQL数据库 116

7.2.1登录和使用phpMyAdmin 117

7.2.2添加和删除数据库 118

7.3在数据库中创建表 119

7.3.1数据表的理解 119

7.3.2 MySQL的数据类型 119

7.3.3建立数据库模型 120

7.3.4在phpMyAdmin中创建表 120

7.4用phpMyAdmin管理表中的数据 122

7.4.1 phpMyAdmin添加数据 122

7.4.2 phpMyAdmin查看数据 123

7.5权限管理 123

7.5.1添加和删除用户 124

7.5.2设置数据库用户的权限 125

7.6 MySQL命令行管理MySQL数据库 126

7.6.1登录MySQL命令行 126

7.6.2新建与删除数据库 126

7.6.3新建或删除数据库表 127

7.7用SQL语句访问MySQL数据库 130

7.7.1插入数据 130

7.7.2数据查询 131

7.7.3数据更新 136

7.7.4数据删除 136

7.7.5查询数据的分组与处理 137

7.8 MySQL的内置函数 139

7.9小结 140

第8章 PHP和MySQL的应用 141

8.1 MySOL的连接和选择数据库 142

8.1.1连接到MySQL服务器 142

8.1.2选择数据库 143

8.1.3网站配置文件 144

8.2数据库的查询操作 145

8.2.1执行SQL语句 145

8.2.2获取查询结果的记录数 146

8.2.3获取查询结果的某一条记录 147

8.2.4逐行获取记录集中的每一行数据 148

8.3数据库访问实例 151

8.3.1院系的添加 151

8.3.2院系管理列表 152

8.3.3院系的删除 153

8.3.4院系编辑网页 153

8.3.5添加班级 155

8.3.6数据分页显示 156

8.3.7数据列表的排序 159

8.4小结 161

第9章 项目简介及功能演示 164

9.1项目简介 165

9.1.1项目优点 166

9.1.2项目不足 166

9.2前台体验 166

9.2.1前台首页 166

9.2.2文章 显示与评论 167

9.2.3标签、搜索、日历等模块 168

9.2.4导航链接 169

9.3后台功能 170

9.3.1登录界面 171

9.3.2“文章 管理”模块 172

9.3.3“模板管理”模块 173

9.3.4“分类管理”模块 173

9.3.5“评论管理”模块 173

9.3.6“附件管理”模块 174

9.3.7“链接管理”模块 175

9.3.8“用户管理”模块 175

9.3.9“系统维护”模块 176

9.3.10“数据管理”模块 176

9.3.11“日志管理”模块 177

9.4程序安装与配置 178

9.4.1 phpMyAdmin导入SQL文件 178

9.4.2通过install.php安装 180

9.5本章小结 187

第10章 系统分析与总体设计 188

10.1需求分析 189

10.1.1什么是需求分析 189

10.1.2 FYblog需求分析 190

10.2了解Web 2.0 191

10.2.1什么是Web 2.0 191

10.2.2 Web 2.0的特点 193

10.2.3 Web 2.0的条件 194

10.3基于Ajax的设计思路 194

10.3.1什么是Ajax技术 194

10.3.2 Ajax技术的好处 195

10.4基于Div+CSS的网站构架 196

10.4.1什么是Web标准 196

10.4.2 Web标准有关代码的规范 197

10.4.3基于Div+CSS布局的好处 198

10.5面向对象的程序设计思想 199

10.5.1为什么要学习面向对象 199

10.5.2类、对象和方法 199

10.5.3 FYblog中的面向对象 201

10.5.4数据库操作类 202

10.6本章小结 206

第11章 数据库设计 208

11.1为什么要进行数据库设计 209

11.2数据库设计思想 210

11.2.1数据库设计理念 210

11.2.2数据库的逻辑设计 211

11.3 MySQL数据库的字段类型 213

11.4数据库的物理设计 215

11.4.1 fyaicles表(文章) 215

11.4.2 fy-attachments表(附件) 216

11.4.3 fycategories表(文章分类) 217

11.4.4 fy-comments表(文章评论) 218

11.4.5 fy-links表(友情链接) 218

11.4.6 fy-search表(前台搜索记录 219

11.4.7 fy-sessions表(后台登录session) 219

11.4.8 fy-settings表(系统设置 220

11.4.9 fy-statistics表(站内统计) 220

11.4.10 fy-tags表(文章标签 220

11.4.11 fy-users表(后台账号) 221

11.5数据库存储优化 222

11.5.1数据库设计过程中的优化 222

11.5.2查询过程中的优化 222

11.5.3其他有关的优化 223

11.6 MySQL数据库的查询技巧 223

11.6.1联合查询 223

11.6.2 (*)查询语法 225

11.7 MySQL的存储过程、触发器和视图 227

11.7.1存储过程 228

11.7.2触发器 229

11.7.3视图 229

11.8本章小结 230

第12章 项目核心功能的实现 232

12.1公共函数与类 233

12.1.1组织目录结构 233

12.1.2函数库 233

12.1.3缓存技术 239

12.2前台文章功能 242

12.2.1如何显示文章列表 242

12.2.2博客系统日历 249

12.2.3模糊搜索的原理 253

12.3用户评论功能 255

12.3.1文章评论的查询与显示 255

12.3.2插入评论表情 260

12.3.3评论的提交与过滤 262

12.3.4验证码技术 267

12.4站内数据统计功能 270

12.5本章小结 272

第13章 附件上传与图片处理 273

13.1附件上传 274

13.1.1多文件上传 274

13.1.2上传的实现 275

13.2附件调用 279

13.2.1数据系列化与反系列化 279

13.2.2附件调用 280

13.3图像生成缩略图 283

13.3.1计算缩略图尺寸 283

13.3.2生成图像 284

13.4图像生成水印 287

13.4.1生成水印 287

13.4.2创建图像文件 289

13.5博客相册功能 290

13.5.1图片列表的实现 290

13.5.2图片的浏览 292

13.6本章小结 294

14.1基于cookies和数据库的登录验证 297

14.1.1判断登录状态 297

14.1.2登录验证 299

14.2基于session的登录验证 303

14.3权限系统设计 306

14.4本章小结 308

第15章 后台管理模块 309

15.1文章 管理模块 310

15.1.1模板article.dll 310

15.1.2文章列表及文章搜索 319

15.1.3添加文章 322

15.1.4 FCKeditor编辑器的配置 326

15.1.5批量移动、删除文章 327

15.2模板管理模块 331

15.2.1程序模块temp late.p h 331

15.2.2模板template.d 333

15.3评论管理模块 334

15.3.1设置评论可见状态 334

15.3.2批量处理评论 335

15.4友情链接管理模块 337

15.4.1添加友情链接 337

15.4.2更新友情链接 339

15.4.3显示友情链接列表 339

15.5数据管理模块 340

15.5.1修复数据库 340

15.5.2备份数据库 343

15.5.3 sqldumptable函数详解 345

15.5.4导入RSS数据 349

15.6日志管理模块 352

15.6.1后台操作记录 352

15.6.2后台登录记录 354

15.6.3数据库出错记录 355

15.6.4日志的删除 356

15.6.5日志的读取 358

15.6.6前台搜索记录 360

15.7本章小结 361

第16章 安全部署及优化 363

16.1环境设置与程序安全 364

16.1.1设置PHP安全模式 364

16.1.2设置脚本访问目录 367

16.1.3设置禁用函数 367

16.1.4设置registerlobals 368

16.1.5设置magic-quotespc 369

16.1.6设置报错信息 374

16.1.7 aow-url fopen函数 375

16.2防范注入漏洞 376

16.2.1注入漏洞实例 377

16.2.2注入攻击的原理 378

16.2.3注入漏洞的防范 382

16.3防范文件包含漏洞 384

16.3.1远程文件包含漏洞的原理 384

16.3.2远程文件包含漏洞的防范 385

16.4防范CC攻击 386

16.4.1数据库设计 387

16.4.2程序设计 388

16.5变量初始化 390

16.6防范跨站攻击、灌水、广告 392

16.6.1防范技巧 392

16.6.2跨站攻击的危害 397

16.7本章小结 400

第17章 Ajax概念与原理 402

17.1什么是Ajax 403

17.1.1 Ajax的定义 403

17.1.2 Ajax的诞生与发展 403

17.2为什么需要Ajax 404

17.2.1传统的Web框架 404

17.2.2 Ajax技术框架 405

17.2.3 Ajax的优势 406

17.3 Ajax核心技术 407

17.3.1 JavaScpt 407

17.3.2 XMLHttpRequest 408

17.3.3 DOM 408

17.3.4 XML 408

17.4 Ajax应用实例 409

17.4.1 Google主页 409

17.4.2 Google Maps 409

17.5 Ajax应用场景 411

17.5.1数据验证 411

17.5.2按需读取数据 411

17.5.3自动实时更新页面 412

17.6使用Ajax 412

17.6.1创建XMLHttpRequest对象 413

17.6.2向服务器发送请求 413

17.6.3处理服务器响应 414

17.6.4完整的Ajax框架 414

17.6.5开山之作:“Hello Ajax”程序 416

17.6.6注册信息实时验证实例 418

17.6.7级联目录实例 425

17.6.8自动实时更新页面 428

17.6.9小结 431

17.7 Ajax的不足之处 431

17.8本章小结 432

第18章 Ajax无刷新静态分页 433

18.1分页技术概况 434

18.1.1传统的分页技术 434

18.1.2Ajax静态分页技术 434

18.2分页技术的原理 435

18.2.1查询的技巧 435

18.2.2翻页函数 436

18.3Ajax与PHP之间的参数传递 438

18.3.1准备工作 438

18.3.2参数传递 440

18.4无比流畅的静态翻页 441

18.5滑动翻页技术 444

18.5.1 onMouseOver事件 444

18.5.2滑动翻页 445

18.6本章小结 447

第19章 Ajax与表单处理 448

19.1 Ajax无刷新提交表单 449

19.1.1传统的表单提交方式 449

19.1.2 Ajax提交表单 452

19.2 Ajax与表单验证 456

19.2.1基于客户端的表单验证 456

19.2.2基于服务器端的表单验证 460

19.2.3两种表单验证方式的比较 465

19.3表单实时检测技术 466

19.3.1密码强度检测 466

19.3.2表单实时检测 470

19.4本章小结 474

第20章 Ajax定时更新技术 476

20.1 Ajax定时更新技术的原理 477

20.1.1定时更新的实现 477

20.1.2 setInterval与setTimeout用法 478

20.2 Ajax抽奖程序 481

20.2.1需求分析 482

20.2.2程序设计 483

20.3 Ajax自动保存草稿功能 489

20.3.1 Ajax与Cookies 490

20.3.2使用Cookies保存数据 492

20.4本章小结 493

第21章 Ajax打造人性化的搜索 495

21.1 Ajax无刷新搜索 496

21.1.1数据库设计 496

21.1.2插入数据 497

21.1.3表单处理 499

21.1.4无刷新搜索 502

21.1.5 Ajax搜索的分页 504

21.2.1Ajax自动完成功能 505

21.2.1 Autocomplete框架1.4.3介绍 505

21.2.2建立关键词数据库 506

21.2.3调用JavaScript框架 507

21.2.4用Ajax实现自动完成功能 508

21.3本章小结 512

第22章 Ajax与拖动层 514

22.1 JavaScrpt实现层的弹出与拖动 515

22.1.1设置弹出层的属性 515

22.1.2设置弹出层的样式 519

22.1.3层的弹出 520

22.1.4层的拖动 523

22.2 Ajax与弹出层 525

22.2.1首页模板index.html 525

22.2.2定义弹出窗口属性(show.js) 526

22.2.3响应 Ajax请求(add.php) 527

22.2.4后台处理(do.php) 530

22.2.5 Ajax与弹出层交互 531

22.3定时弹出窗口 533

22.3.1个性化的弹出窗口 533

22.3.2定时弹出窗口 535

22.4本章小结 536

第23章 Ajax改善用户体验综合篇 538

23.1可以动态编辑的文本 539

23.1.1动态编辑文本的实现 539

23.1.2静态模板demo 1.htm1 542

23.1.3处理Ajax请求 545

23.2 Ajax动态联动下拉框 547

23.2.1前台程序demo2.html 547

23.2.2后台处理server.php 549

23.2.3数据库设计 550

23.2.4 Ajax动态联动下拉框效果 551

23.3Ajax升序、降序排列数据 552

23.3.1数据库设计 553

23.3.2前台程序设计 553

23.3.3后台程序设计 554

23.3.4 Ajax升序、降序的效果 556

23.4本章小结 557

第24章 Ajax动态更新页面数据 559

24.1 AJAXRequest 0.7 560

24.2 Ajax与服务器通信,发送请求和处理响应 561

24.2.1调用Ajax框架 561

24.2.2 Ajax发送请求 564

24.2.3处理Ajax请求 565

24.3 Ajax无刷新更新数据 572

24.3.1触发Ajax请求 572

24.3.2动态更新数据 573

24.4本章小结 574