《PHP开发实例大全 提高卷》PDF下载

  • 购买积分:26 如何计算积分?
  • 作  者:软件开发技术联盟编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302392736
  • 页数:1010 页
图书介绍:本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用PHP进行Web开发的各个方面的知识和技巧,主要包括开发环境、PHP基础等内容。每个实例都经作者精心筛选,具有很强的实用性,其中一些实例是开发人员难于寻觅的解决方案。本书适合PHP的初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合PHP程序员参考、查阅。

第1篇 Web应用篇 2

第1章 PHP与Ming扩展库 2

1.1 Ming扩展库基本应用 3

实例001 加载Ming扩展库 3

实例002 静态输出“吉林省明日科技” 3

实例003 动态输出“明日科技欢迎您” 5

1.2 Ming扩展绘制线段 6

实例004 绘制一条直线 6

实例005 绘制一条曲线 7

实例006 绘制一条旋转直线 8

1.3 Ming扩展绘制图形 10

实例007 绘制一个圆 10

实例008 绘制一个正方形 11

实例009 控制图片的渐变输出 12

实例010 控制图片向上移动 14

实例011 控制图片向下移动 16

实例012 控制图片的旋转 17

实例013 创建一个按钮并添加事件 19

第2章 PHP与ImageMagick图片处理 23

2.1 ImageMagick处理图片 24

实例014 下载、安装ImageMagick 24

实例015 判断指定图片是否存在 26

实例016 获取图片信息 27

实例017 裁剪指定的图片 28

实例018 将图片由PNG格式转换为JPG格式 30

实例019 对JPG格式的图片进行压缩 31

2.2 ImageMagick应用 32

实例020 控制图片45°旋转 32

实例021 绘制图片的缩略图 33

实例022 为图片添加旋涡效果 35

实例023 按照原始比例缩放图片 36

实例024 制作个人画册 37

第3章 AJAX无刷新技术 39

3.1 AJAX操作图像 40

实例025 AJAX无刷新图像上传 40

实例026 AJAX无刷新输出上传图像 41

实例027 AJAX无刷新载入图像 42

实例028 AJAX动态生成缩略图 43

3.2 AJAX控制表单 45

实例029 AJAX检测用户名是否被占用 45

实例030 AJAX无刷新下拉列表 48

实例031 AJAX无刷新级联下拉列表 50

实例032 AJAX验证用户注册信息 53

实例033 AJAX无刷新添加数据信息 55

3.3 AJAX操作XML 57

实例034 AJAX无刷新读取XML文件 57

实例035 AJAX读取XML节点属性 58

3.4 AJAX实战应用 60

实例036 AJAX读取HTML文件 60

实例037 AJAX添加图书信息 61

实例038 AJAX查询图书信息 63

实例039 AJAX修改图书信息 65

实例040 AJAX删除图书信息 67

实例041 AJAX无刷新分页 69

实例042 AJAX实现博客文章类别添加 72

实例043 AJAX实现用户登录 74

实例044 AJAX无刷新查询数据 76

实例045 AJAX无刷新倒计时 78

实例046 AJAX无刷新显示聊天信息 79

实例047 AJAX无刷新显示公告信息 81

实例048 AJAX无刷新获取用户的个人信息 82

实例049 AJAX无刷新获取新闻内容 85

实例050 AJAX获取指定图书信息 87

第4章 jQuery框架技术 89

4.1 网页特效 90

实例051 jQuery实现查找节点 90

实例052 图片幻灯片 91

实例053 颜色拾取器 92

实例054 广告轮显 94

实例055 图片放大镜 95

实例056 jQuery幕帘效果 96

实例057 jQuery动态变化的数字 98

实例058 jQuery淡入淡出动画效果 99

实例059 jQuery上下卷帘动画效果 100

实例060 自动隐藏式菜单 101

实例061 图片传送带 102

实例062 打造自己的开心农场 104

4.2 jQuery操作表单 106

实例063 检测用户名是否被占用 106

实例064 jQuery验证表单元素 107

实例065 密码强度检测 109

实例066 文本框提示标签 110

实例067 文本编辑器 111

实例068 右键菜单 112

实例069 jQuery二级联动下拉列表框 114

实例070 jQuery三级联动下拉列表框 116

实例071 复选框的全选、反选和全不选 118

实例072 表单动态变色 119

实例073 上传图片预览 121

实例074 通过下拉列表选择头像 122

4.3 jQuery操作表格 124

实例075 jQuery横向导航 124

实例076 jQuery竖向导航 125

实例077 jQuery弹出层 127

实例078 jQuery滑动门 129

实例079 jQuery可编辑表格 130

实例080 jQuery实现表格隔行变色 132

实例081 jQuery拖曳 133

实例082 jQuery翻滚的消息动态 135

实例083 jQuery动态换肤 136

实例084 可展开和关闭的表格 137

实例085 单行左右移动的消息提示 138

实例086 显示全部资源与精简资源 140

4.4 jQuery与Jpgraph结合 142

实例087 jQuery与Jpgraph动态制作折线图分析网站访问量 142

实例088 jQuery与GD2函数制作验证码 146

4.5 jQuery操作XML 147

实例089 通过jQuery读取XML文件 147

第5章 PHP与在线编辑工具 150

5.1 常用在线编辑器 151

实例090 自定义在线编辑器 151

实例091 在博客中应用自定义在线编辑器 153

5.2 FCKeditor在线编辑器 154

实例092 CKEditor网页编辑器 154

实例093 将CKEditor网页编辑器嵌入到后台管理系统中 156

实例094 FCKeditor文本编辑器 159

实例095 在论坛的帖子回复中应用FCKeditor 162

第6章 PHP与多媒体技术 165

6.1 操控音频文件 166

实例096 在线音乐上传 166

实例097 在线音乐下载 169

实例098 MP3在线点播 171

实例099 MP3下载 172

实例100 创建.m3u格式的文件 174

实例101 无刷新删除.m3u格式的文件 175

实例102 通过object标签向HTML页中载入多媒体 176

实例103 通过embed标签向HTML页中载入多媒体 177

实例104 歌词的同步输出 178

实例105 在线播放列表 180

实例106 在线音乐的循环播放 183

实例107 在线音乐的连续播放 186

实例108 收藏其他网站的音乐 187

6.2 操控影音文件 189

实例109 通过RealPlayer播放器播放视频文件 189

实例110 通过MediaPlayer播放器播放视频文件 191

实例111 控制播放器窗口的状态 192

实例112 播放FLV视频文件 193

实例113 在网页中加入可控的背景音乐 194

实例114 在博客中加入可控的背景音乐 196

6.3 操控Flash动画文件 197

实例115 在网页中嵌入Flash 197

实例116 在网页中嵌入背景透明的Flash 198

实例117 向Flash中传递参数 199

实例118 嵌入Flash播放器 201

实例119 用JavaScript控制Flash 202

第7章 PHP与FPDF类库应用 204

7.1 编辑、设计PDF文档 205

实例120 配置FPDF 205

实例121 创建FPDF文档 205

实例122 下载PDF文档 207

实例123 向PDF中插入图片 208

实例124 为FPDF增加中文支持 209

实例125 设置FPDF的页眉和页脚 210

实例126 通过FPDF绘制表格 212

7.2 PDF文档的实战应用 213

实例127 设计编程词典说明书的PDF文档 213

实例128 设计编程词典产品介绍的PDF文档 215

实例129 设计编程词典安装说明的PDF文档 216

实例130 动态生成编程词典注册用户的PDF文档 218

实例131 设计毕业论文的PDF文档 220

第8章 报表与打印技术 225

8.1 操作Word 226

实例132 将数据库数据保存到Word 226

实例133 将查询结果保存到Word 228

实例134 将Web页中的表格导出到Word并打印 230

实例135 打开指定的Word文档并打印 232

实例136 调用Word自动打印指定格式的会议记录 233

8.2 操作Excel 235

实例137 将MySQL数据表中的数据导出到Excel 235

实例138 将查询结果导出到Excel 237

实例139 将Web页面中的数据导出到Excel 239

实例140 将Web页面中的数据导出到Excel并自动打印 241

实例141 将Excel中的数据导出到MySQL数据库 243

实例142 将Excel中的工资数据导入到SQL Server数据库 245

实例143 将SQL Server数据导出到Excel 247

8.3 报表打印 249

实例144 调用IE自身的打印功能实现打印 249

实例145 打印指定框架中的内容 251

实例146 使用WebBrowser打印报表 252

实例147 设置页眉页脚 254

实例148 利用CSS样式打印页面中的指定内容 257

实例149 利用CSS样式实现分页打印 259

8.4 报表打印实战应用 261

实例150 打印汇款单 261

实例151 打印快递单 263

实例152 打印信封 264

实例153 GD2函数动态生成图表并打印 265

实例154 打印用户的通讯记录 267

实例155 JavaScript脚本打印账单 268

实例156 打印工资条 270

第2篇 网络应用篇 274

第9章 网络、服务与服务器 274

9.1 获取服务器信息 275

实例157 根据IP地址获取主机名称 275

实例158 根据主机名称获取IP地址 276

实例159 获取主机的所有IP地址 277

实例160 将IP地址转换为整数 277

实例161 将整数型IP地址还原为4个圆点分隔形式 278

9.2 Socket实现“C/S”通信 280

实例162 创建Socket服务器 280

实例163 创建Socket客户端 284

实例164 通过Socket发送短信 286

实例165 短信群发 288

9.3 常见网络任务 289

实例166 验证服务器是否连接 289

实例167 开发端口扫描器 291

实例168 利用curl获取HTML内容 294

实例169 利用curl模拟POST方式发送数据 295

实例170 curl批处理 297

第10章 邮件处理技术 299

10.1 配置服务器 300

实例171 SMTP和POP3服务器的安装与配置 300

实例172 Winmail服务器的安装与配置 303

实例173 通过mail()函数发送邮件 305

10.2 通过imap电子邮件系统函数操作邮件 307

实例174 登录邮件服务器 307

实例175 接收邮件 309

实例176 浏览邮件 311

实例177 下载附件 314

实例178 查找邮件 315

实例179 发送邮件 317

实例180 发送带附件的邮件 319

实例181 邮件群发 322

实例182 删除邮件 324

10.3 使用Zend_Mail组件发送邮件 325

实例183 Zend_Mail组件发送普通文本邮件 325

实例184 Zend_Mail组件发送HTML格式文本邮件 327

实例185 Zend_Mail组件发送附件 329

实例186 Zend_Mail组件发送群邮件 331

实例187 Zend_Mail组件接收邮件 333

实例188 Zend_Mail组件获取邮件内容 335

第11章 XML操作技术 337

11.1 创建XML文件 338

实例189 手动创建XML文件 338

实例190 在PHP中创建XML文件 339

实例191 通过文件系统函数创建XML文件 340

实例192 通过DOM创建XML文件 342

实例193 读取XML文件 343

11.2 XML文件节点操作 345

实例194 插入XML节点 345

实例195 修改XML节点 346

实例196 删除XML节点 347

11.3 XML文件转换 347

实例197 在HTML页面中使用XML文件 348

实例198 在XML文件中应用CSS样式 349

实例199 XSL转换XML文件 350

11.4 SimpleXML函数操作XML 351

实例200 遍历所有子节点 351

实例201 遍历所有属性 352

实例202 访问特定节点元素和属性 353

实例203 修改并保存XML文档 354

11.5 动态操作XML 355

实例204 PHP动态创建XML文档 356

实例205 PHP动态添加XML数据 358

实例206 PHP动态查询XML数据 360

实例207 PHP动态修改XML数据 362

实例208 PHP动态删除XML数据 364

11.6 XML实战应用——留言板 366

实例209 用户注册 366

实例210 用户登录 368

实例211 发布留言 370

实例212 浏览留言 371

实例213 编辑留言 373

实例214 删除留言 374

11.7 XML实战应用——RSS阅读器 376

实例215 创建支持RSS阅读的站点 376

实例216 动态创建RSS文件 378

实例217 创建RSS阅读器的框架 379

实例218 添加频道组 381

实例219 删除频道组 382

实例220 添加频道 384

实例221 删除频道 386

实例222 树状导航菜单输出频道组和频道 388

实例223 AJAX无刷新读取订阅信息 389

第12章 Web服务器与远程过程调用 392

12.1 SOAP扩展 393

实例224 Windows下安装、配置SOAP 393

实例225 建立SOAP服务器端 393

实例226 建立SOAP客户端 395

12.2 PHP与Web Service的交互操作 396

实例227 NuSOAP类库的安装、配置 396

实例228 PHP创建Web Service 397

实例229 PHP访问Web Service 399

实例230 PHP通过Web Service发送短信 400

12.3 XML-RPC(远程过程调用) 402

实例231 客户端请求的XML格式 402

实例232 服务器响应的XML格式 404

实例233 错误信息的XML格式 405

实例234 XML-RPC的综合应用——数学运算 405

第13章 LDAP(轻量级目录访问协议) 408

13.1 LDAP服务器的安装与配置 409

实例235 安装LDAP服务器 409

实例236 配置LDAP服务器 410

实例237 OpenLDAP的启动和关闭 411

13.2 通过命令操作LDAP服务器 412

实例238 通过命令向OpenLDAP服务器中添加数据 412

实例239 通过命令查询OpenLDAP服务器中的数据 413

13.3 phpLDAPadmin图形工具简介 414

实例240 下载安装phpLDAPadmin工具 414

13.4 PHP操作LDAP服务器 415

实例241 在PHP中加载LDAP 415

实例242 连接、绑定和断开LDAP服务器 416

实例243 查询LDAP目录的内容 417

实例244 获取查询结果中的值 418

实例245 统计查询结果的记录数 419

实例246 向LDAP中添加记录 420

实例247 更新LDAP中的记录 421

实例248 删除LDAP中的记录 422

实例249 获取错误处理信息 423

实例250 LDAP服务器实战应用——验证用户身份 424

第14章 PHP与WAP技术 425

14.1 配置WAP 426

实例251 Apache中配置WAP 426

实例252 制作第一个WAP页面 427

实例253 WAP页面跳转 427

14.2 WAP的应用 428

实例254 动态生成图像 428

实例255 使用WAP获取下拉列表框选项内容 429

实例256 使用WAP制作用户注册页面 431

实例257 站内查询功能 432

实例258 使用WAP制作用户登录页面 434

14.3 Smarty与WAP 436

实例259 通过if语句判断当前用户的权限 436

实例260 通过foreach语句读取数组中的数据 438

实例261 Smarty模板中生成数字验证码 439

实例262 通过html_options()函数向下拉列表框中添加列表项 441

实例263 在模板文件中定义CSS样式 443

实例264 通过section循环输出数据 444

实例265 Smarty实现数据库信息分页显示 446

实例266 Smarty模板中时间的格式化输出 448

实例267 Smarty模板中的编码 450

实例268 Smarty模板中应用正则表达式 451

实例269 Smarty模板中的关键字描红技术 453

实例270 Smarty模板中控制输出字符串的行宽 454

实例271 Smarty模板中自定义创建form表单 456

实例272 register_function()方法注册模板函数 459

实例273 register_object()方法注册模板对象 461

实例274 在Smarty中通过truncate方法截取字符串 465

实例275 Smarty模板制作用户注册页面 466

实例276 Smarty模板制作后台管理系统主页 468

实例277 Smarty模板页嵌入PHP脚本 470

实例278 在模板中包含子模板 471

实例279 为网站的首页开启缓存 472

实例280 开启网站注册页面的缓存 474

实例281 通过配置文件定义变量 475

第15章 PHP与FTP 478

15.1 安装、配置服务器端软件 479

实例282 安装、配置Serv-U 479

实例283 连接、关闭FTP服务器 482

15.2 操作FTP服务器 483

实例284 上传文件到FTP服务器 483

实例285 从FTP服务器中下载文件 485

实例286 更改FTP服务器中的文件名称 486

实例287 删除FTP服务器中的指定文件 487

实例288 在FTP服务器中创建目录 488

实例289 遍历FTP服务器指定目录下的文件 490

实例290 文件批量上传到FTP服务器 491

实例291 将指定类型的文件上传到FTP服务器 493

实例292 将FTP服务器中的文件批量下载到本地 494

实例293 将指定类型的文件下载到本地计算机 495

实例294 查看FTP服务器指定子目录下的详细信息 496

第3篇 数据库与抽象层篇 500

第16章 PostgreSQL数据库 500

16.1 PostgreSQL数据库的安装与操作 501

实例295 PostgreSQL数据库安装 501

实例296 PostgreSQL服务的启动与停止 503

实例297 启动pgAdmin Ⅲ工具 504

实例298 连接PostgreSQL服务器 505

16.2 通过pgAdminⅢ操作PostgreSQL数据库 506

实例299 创建database16数据库 506

实例300 创建tb_book数据库表 507

实例301 向tb_book表中添加数据 509

实例302 在pgAdminⅢ中通过SQL语句查询tb_book表中数据 510

16.3 PHP操作PostgreSQL数据库 511

实例303 在PHP中加载PostgreSQL函数库 511

实例304 连接、关闭PostgreSQL数据库 512

实例305 pg_query()函数执行SQL语句 513

实例306 pg_num_rows()函数获取查询结果集的记录数 514

实例307 pg_fetch_array()函数将结果集返回到数组 515

实例308 pg_fetch_row()函数从结果集中获取一行作为枚举数组 516

实例309 pg_fetch_assoc()函数返回关联数组 517

实例310 pg_insert()函数添加图书信息 518

实例311 select语句查询图书信息 519

实例312 分页显示图书信息 521

实例313 pg_update()函数更新图书信息 524

实例314 图书名称的批量更新 526

实例315 pg_delete()函数删除图书信息 530

实例316 图书信息的批量删除(删除前给出提示信息) 531

第17章 SQLite数据库 536

17.1 SQLite数据库的安装与配置 537

实例317 下载安装SQLite数据库 537

实例318 配置SQLite数据库 538

17.2 SQLite数据库的操作 538

实例319 创建database17数据库 538

实例320 查看database17数据库 539

实例321 创建tb_user数据表 541

实例322 查看tb_user数据表 542

实例323 向tb_user数据库表中添加数据 542

实例324 查看tb_user数据表中的数据 543

17.3 PHP操作SQLite数据库 545

实例325连接、关闭数据库 545

实例326 query()方法执行SQL语句 546

实例327 fetchArray()方法返回数组结果行 547

实例328 获取查询结果集的记录数 549

实例329 获取结果集列数 550

实例330 reset()方法返回第一行数据 550

实例331 获取最近插入数据的ID值 552

实例332 返回数据库受影响行数 552

实例333 prepare预查询语句 553

实例334 添加用户注册信息 555

实例335 用户登录 556

实例336 查询注册用户 557

实例337 分页显示注册用户信息 559

实例338 显示用户信息按照ID排序 561

实例339 修改用户注册信息 564

实例340 删除注册用户 566

第18章 PDO数据库抽象层 568

18.1 PDO安装、配置 569

实例341 Windows下安装PDO 569

实例342 Linux下安装PDO 570

18.2 PDO连接数据库 571

实例343 PDO连接MySQL数据库 571

实例344 PDO连接SQL Server 2000数据库 572

实例345 PDO连接Access数据库 573

实例346 PDO连接Oracle数据库 575

实例347 PDO连接PostgreSQL数据库 576

实例348 PDO连接SQLite数据库 577

18.3 PDO查询 578

实例349 向图书信息表中添加数据 578

实例350 修改图书表中的数据 580

实例351 删除图书信息表中的指定数据 584

实例352 删除图书信息表中的所有数据 585

实例353 查询字符串 587

实例354 查询日期型数据 589

实例355 查询逻辑型数据 591

实例356 查询非空数据 594

实例357 利用变量查询字符串数据 597

实例358 利用变量查询数值型数据 600

实例359 查询指定的N条记录 602

实例360 查询前N条记录 604

实例361 查询后N条记录 606

实例362 查询从指定位置开始的N条记录 608

实例363 查询统计结果中的前N条记录 610

实例364 查询指定时间段的数据 612

实例365 按月查询统计数据 614

实例366 查询大于指定条件的记录 616

实例367 查询结果不显示重复记录 618

实例368 NOT与谓词进行组合条件的查询 620

实例369 显示数据表中的重复记录和记录条数 622

实例370 对数据进行降序查询 624

实例371 对数据进行多条件排序 626

实例372 对统计结果进行排序 629

实例373 单列数据分组统计 631

实例374 多列数据分组统计 633

实例375 多表分组统计 635

实例376 使用聚集函数sum()对学生成绩进行汇总 637

实例377 使用聚集函数avg()求平均每月的图书销量 639

实例378 使用聚集函数min()求销售额、利润最少的商品 642

实例379 使用聚集函数max()求月销售额完成最多的销售记录 644

实例380 使用聚集函数count()求日销售额大于某值的记录数 646

实例381 使用聚集函数first(或last)求数据表中第一条或最后一条记录 648

实例382 使用from子句进行多表查询 650

实例383 使用表的别名 652

实例384 合并多个结果集 654

实例385 简单的嵌套查询 656

实例386 复杂的嵌套查询 658

实例387 复杂嵌套查询在查询统计中的应用 661

实例388 使用子查询作派生的表 663

实例389 使用子查询作表达式 665

实例390 使用子查询关联数据 667

实例391 多表联合查询 670

实例392 对联合查询后的结果进行排序 672

实例393 条件联合语句 674

实例394 简单内连接查询 676

实例395 复杂内连接查询 678

实例396 两表的内连接关联 680

实例397 使用外连接进行多表联合查询 682

实例398 left outerjoin查询 684

实例399 right outer join查询 687

实例400 利用in或notin语句限定范围 689

实例401 用in查询表中的记录信息 691

实例402 由in引入的关联子查询 693

实例403 利用transform分析数据 695

实例404 利用transform统计数据 698

实例405 使用格式化函数转换查询条件的数据类型 700

实例406 在查询中使用字符串函数 702

实例407 在查询中使用日期函数 704

实例408 利用having语句过滤分组数据 707

18.4 PDO错误处理 709

实例409 获得查询错误号 709

实例410 获得查询错误信息 710

实例411 在PDO中设置错误模式 711

实例412 通过异常处理捕获PDO异常信息 712

实例413 使用函数die()打印错误信息 713

18.5 PDO事务 714

实例414 执行一个批处理事务 714

实例415 实现银行安全转账 716

实例416 多表数据同时安全删除 719

实例417 通过事务处理方式保存数据 720

实例418 通过事务处理方式更新数据 722

18.6 PDO存储过程 725

实例419 通过存储过程实现用户注册 725

实例420 通过存储过程实现用户登录 727

实例421 通过存储过程删除注册用户 729

实例422 通过存储过程修改学生信息 731

第19章 PHP Lib数据库抽象层 734

19.1 PHPLib下载、安装 735

实例423 下载PHPLib 735

实例424 使用require语句导入PHPLib类库 735

实例425 自动加载PHPLib类库文件 737

19.2 PHPLib操作MySQL数据库 737

实例426 向产品信息表中添加数据 737

实例427 修改产品信息表中的数据 739

实例428 删除产品信息表中的指定数据 742

实例429 删除商品信息表中的所有数据 744

实例430 查询字符串 745

实例431 查询日期型数据 747

实例432 查询逻辑型数据 750

实例433 查询非空数据 753

实例434 利用变量查询字符串数据 755

实例435 利用变量查询数值型数据 757

实例436 查询指定的N条记录 759

实例437 查询前N条记录 760

实例438 查询后N条记录 762

实例439 查询从指定位置开始的N条记录 763

实例440 查询统计结果中的前N条记录 765

实例441 查询指定时间段的数据 766

实例442 分页查询 768

19.3 PHPLib操作Oracle数据库 770

实例443 添加留言信息 770

实例444 修改留言信息 773

实例445 删除留言信息 776

实例446 留言信息分页输出 778

实例447 查询留言信息 781

第4篇 网站安全与优化篇 784

第20章 网站策略与安全 784

20.1 文件保护 785

实例448 防止用户直接输入地址访问PHP文件 785

实例449 防止页面重复提交 786

实例450 对查询字符串进行URL编码 789

实例451 过滤HTML非法字符 791

实例452 禁止用户输入敏感字符 794

20.2 漏洞防护 795

实例453 防止Access数据库被下载 795

实例454 操作带密码的Access数据库 796

实例455 越过表单限制漏洞 799

实例456 文件上传漏洞 802

实例457 隐藏PHP文件扩展名 804

实例458 通过邮箱激活注册用户 805

实例459 本地文件包含漏洞 812

实例460 远程文件包含漏洞 813

实例461 检测文件上传类型 814

实例462 SQL注入漏洞 816

20.3 数据加密 818

实例463 通过base64对数据库进行编码 818

实例464 以RFC1738规则对URL进行编码 819

实例465 禁止复制和另存为网页内容 821

实例466 通过MD5对用户密码进行加密 822

实例467 使用crypt()函数对用户注册密码进行加密 824

实例468 使用shal()函数对用户注册密码进行加密 825

实例469 使用Mcrypt扩展库对用户注册密码进行加密 826

实例470 通过Mhash扩展库对用户注册密码进行加密 828

20.4 身份验证 829

实例471 直接对用户的身份进行验证 829

实例472 通过文本文件对用户身份进行验证 830

实例473 验证码登录技术 832

实例474 通过数据库完成身份的验证 834

实例475 通过IP验证用户身份 835

实例476 为注册用户生成随机密码 837

第21章 PHP调试、升级与优化 839

21.1 错误类型举例 840

实例477 语法错误 840

实例478 定义错误 841

实例479 逻辑错误 842

实例480 运行错误 843

实例481 环境错误 844

21.2 程序调试方法 845

实例482 应用die()语句调试 845

实例483 应用mysql_error()语句输出错误信息 846

实例484 应用try{}catch{}语句抛出并捕获异常 847

21.3 错误处理技巧 848

实例485 隐藏错误 848

实例486 自定义错误页面 849

实例487 延长服务器执行时间——处理超时错误 850

实例488 如何分析、解决PHP与MySQL连接错误 852

实例489 解决数据库乱码问题 853

实例490 封装属于自己的异常处理类 855

实例491 使用错误处理器记录日志 856

实例492 通过mysql_error()函数调试SQL语句中的错误 857

实例493 通过phpMyAdmin调试SQL语句中的错误 858

21.4 PHP优化技巧 859

实例494 PHP脚本级优化 859

实例495 使用代码优化工具 860

实例496 使用代码优化工具 862

实例497 MySQL日志维护 864

实例498 Apache服务器优化 865

实例499 内容压缩与优化 866

21.5 常见的程序漏洞和防护 867

实例500 允许用户设置全局变量漏洞 867

实例501 文件上传漏洞 868

实例502 根据错误信息攻击服务器漏洞 869

实例503 远程文件包含漏洞 870

实例504 SQL注入漏洞 871

第5篇 框架与项目整合篇 874

第22章 ThinkPHP框架 874

22.1 ThinkPHP的MVC环境搭建 875

实例505 环境配置 875

实例506 框架结构 876

实例507 创建流程 878

22.2 ThinkPHP的MVC操作 880

实例508 URL访问 880

实例509 ThinkPHP控制器 881

实例510 ThinkPHP视图 883

实例511 ThinkPHP模型 885

22.3 ThinkPHP的访问数据库操作 886

实例512 连接MySQL数据库 886

实例513 用户注册 888

实例514 用户登录 892

实例515 发布信息 895

实例516 查询信息 897

实例517 修改信息 898

实例518 删除信息 901

实例519 信息分页显示 903

第23章 Zend Framework框架 906

23.1 Zend Framework的MVC环境搭建 907

实例520 环境配置 907

实例521 框架结构 908

实例522 创建流程 909

实例523 Zend Framework的编码标准 912

23.2 Zend_Layout网站布局 913

实例524 Zend_Layout对站点进行布局 913

实例525 通过Zend_Layout对新闻页面进行布局 914

23.3 Zend_Config配置文件 916

实例526 Zend_Config配置站点初始参数 916

23.4 Zend_Cache缓存服务 919

实例527 Zend_Cache对数据库中的信息缓存输出 919

实例528 通过Zend_Cache删除缓存 921

23.5 Zend_Paginator分页 923

实例529 Zend_Paginator实现数据分页显示 923

实例530 通过修改样式做成下拉列表分页 925

23.6 Zend_Form表单 927

实例531 使用Zend_Form制作用户注册表单 927

实例532 使用Zend_Form制作用户登录页面 929

23.7 Zend_Auth身份认证 931

实例533 使用Zend_Auth对用户身份进行验证 931

实例534 身份持久认证 935

23.8 Zend_Acl权限管理 938

实例535 通过Zend_Acl控制角色和资源的权限 938

实例536 通过Zend_Acl完成精细的访问权限控制 939

23.9 Zend_Db数据库操作 940

实例537 Zend_Db_Adapter数据库操作 940

实例538 Zend_Db_Table数据库操作 940

实例539 数据表类 942

23.10 Zend_File文件控制 945

实例540 使用Zend_File_Transfer_Adapter_Http实现POST方式文件上传 945

实例541 对上传文件的合理性验证 947

实例542 为上传增加过滤规则 948

实例543 使用Zend Framework实现查询结果的关键字描红 948

第24章 明日导航网(ThinkPHP) 952

24.1 数据库设计 953

实例544 创建数据库 953

实例545 创建数据表 953

24.2 MVC框架结构搭建 956

实例546 ThinkPHP框架的MVC目录结构 956

实例547 ThinkPHP框架的MVC结构创建过程 957

24.3 前台设计 958

实例548 连接数据库 958

实例549 前台首页设计 959

实例550 前台首页子页面设计 961

24.4 后台管理设计 962

实例551 创建后台管理架构 963

实例552 后台登录 964

实例553 后台管理主页设计 965

实例554 高级类别管理 967

实例555 判断访问用户的权限 970

实例556 操作提示页面 971

实例557 ThinkPHP框架中的分页技术 972

第25章 明日搜索引擎(Zend Framework) 973

25.1 数据库设计 974

实例558 创建数据库 974

实例559 创建数据表 975

25.2 MVC框架结构搭建 977

实例560 Zend Framework框架的MVC目录结构 977

实例561 Zend Framework框架的MVC结构创建过程 978

25.3 前台设计 980

实例562 首页设计 980

实例563 用户注册 983

实例564 用户登录 985

实例565 发表问题 987

实例566 回复问题 989

实例567 验证码生成 992

实例568 类似Google搜索引擎的搜索条 994

实例569 使用空格分隔多关键字 997

实例570 查询结果的分页输出 998

实例571 关键字描红 1000

实例572 制作在线编辑器 1001

实例573 自定义错误页面 1004

25.4 后台设计 1005

实例574 后台管理员登录 1005

实例575 用户管理 1007

实例576 退出登录 1010