第1章 PHP概述 1
1.1 PHP的来历 1
1.2 功能特点 2
1.3 PHP与其他CGI的比较 3
1.4 第一个PHP应用程序 4
第2章 PHP的安装与配置 6
2.1 准备工作 6
2.2 系统安装 6
2.2.1 Linux操作平台下PHP系统的安装流程 7
2.2.2 Windows操作平台下PHP系统的安装流程 10
2.2.3 PHPLIB的安装流程 13
2.3 PHP的使用配置 13
2.3.1 PHP的编译配置详细说明 14
2.3.2 PHP.INI配置详细说明 18
第3章 PHP的语法 25
3.1 数据类型 25
3.1.1 常量类型 25
3.1.2 变量类型 26
3.1.3 变量的使用 29
3.2 运算符 36
3.2.1 算术运算符 36
3.2.2 逻辑运算符 38
3.2.3 比较运算符 39
3.2.4 字符串运算符 39
3.2.5 位运算符 40
3.2.6 赋值运算符 41
3.2.7 其他运算符 41
3.3 PHP表达式 42
3.4 控制语句 43
3.4.1 条件选择语句 43
3.4.2 循环控制语句 48
3.4.3 其他控制语句 50
3.5 函数与对象 53
3.5.1 函数 53
3.5.2 对象 57
3.6 其他 71
3.6.1 嵌入方法 71
3.6.2 文件包含 71
3.6.3 程序注释 72
第4章 PHP的简单实例 73
4.1 用户认证 73
4.1.1 使用服务器内置功能进行认证 73
4.1.2 使用PHP进行认证 74
4.2 计数器 76
4.2.1 计数 77
4.2.2 计数的显示 80
4.2.3 用session实现的计数器 85
4.2.4 基于PNG格式的计数器 86
4.3 动态图形生成 87
4.3.1 线形图形 88
4.3.2 柱形图 94
4.3.3 饼形图 96
4.3.4 3D饼形图 99
4.4 分页显示 103
4.5 邮件收取 106
4.6 新闻抓取 115
4.7 简单的搜索引擎 122
4.8 意见反馈表 124
第5章 应用实例——广告轮播 131
5.1 广告上传的实现 131
5.2 记录广告条点击次数的方法 137
5.3 一个完整的广告轮播实例 137
5.3.1 数据库的建立 138
5.3.2 通用函数的建立 139
5.3.3 广告管理模块的实现 141
5.3.4 广告点击模块的实现 150
5.3.5 广告显示模块的实现 151
第6章 应用实例二——聊天室 154
6.1 显示界面 154
6.2 用户管理 156
6.3 在线人数的实现 162
6.4 表情和动作的实现 163
6.5 密谈的实现 165
6.6 主动与被动更新 166
6.7 异常离线的处理方法 171
6.8 输入信息的发送 171
6.9 一个完整的聊天室实例 173
6.9.1 用户登录模块的实现 173
6.9.2 用户输入模块的处理 174
6.9.3 显示模块的实现 177
6.9.4 显示界面的实现 178
第7章 应用实例三——留言板 179
7.1 数据库的建立 179
7.2 通用函数的实现 180
7.3 主控模块的实现 180
7.4 留言模块的实现 182
7.5 搜索留言模块的实现 188
7.6 查看留言模块的实现 189
7.7 删除及修改留言模块的实现 199
7.8 回复留言模块的实现 205
第8章 应用实例四——投票系统 211
8.1 数据库的建立 211
8.2 通用函数的实现 212
8.3 在线申请投票模块的实现 216
8.3.1 产生投票页面 216
8.3.2 投票信息合法性检验 220
8.4 投票信息入库模块的实现 223
8.5 显示投票结果模块的实现 226
第9章 应用实例五——图书管理系统 229
9.1 数据库的建立 229
9.2 通用函数的建立 231
9.3 主控模块的实现 234
9.4 用户管理模块的实现 235
9.4.1 用户注册模块 235
9.4.2 用户登录模块 239
9.4.3 管理员登录模块 241
9.5 新书入库模块的实现 243
9.6 借阅模块的实现 247
9.6.1 借书登录模块 247
9.6.2 借书登记模块 248
9.6.3 还书处理模块 252
9.6.4 续借处理模块 253
9.6.5 借书登记处理模块 253
9.7 书籍查询模块的实现 255
附录 常见问题解答 263
A.1 数据库常见问题 263
A.1.1 MySQL与Oracle、Informix有何差别 263
A.1.2 如何在Windows 2000环境下把MySQL安装成自动的服务器 263
A.1.3 如何在MySQL数据库中为用户设置密码 263
A.1.4 如何在MySQL中创建数据库和表 264
A.1.5 如何增大MySQL的最大连接数 264
A.1.6 如何获取到MySQL数据库中枚举列的全部可能值 264
A.1.7 如何对MySQL数据库中的日期数据进行比较 265
A.1.8 如何利用MySQL的函数实现PHP中时间的格式化输出 266
A.1.9 如何在PHP中实现基于数据库的用户权限/模块管理 267
A.1.10 如何利用PHP访问数据库 269
A.1.11 如何在PHP程序中通过ODBC调用数据库 271
A.1.12 如何用PHP调用数据库的存储过程 274
A.1.13 如何不使用OCI8接口实现PHP和Oracle的连接 275
A.1.14 如何使用ADO访问数据库 276
A.1.15 如何在PHP中调用JDBC 277
A.1.16 如何利用PHP操纵LOB类型的数据 278
A.2 编程常见问题 281
A.2.1 在PHP程序中,echo、print、printf和sprintf之间有何区别 281
A.2.2 如何区分PHP的require和include语句的作用 281
A.2.3 如何把错误信息隐藏起来 282
A.2.4 如何巧妙地使用PHP的错误处理 283
A.2.5 如何在程序里获取php.ini文件的一个配置的值 284
A.2.6 如何在用户自定义函数中读取一个标准的CGI变量 284
A.2.7 如何用PHP生成自己的LOG文件 284
A.2.8 如何利用PHP实现目录管理与文件预览 286
A.2.9 如何在PHP中从一个页面重定向到另外一个页面 288
A.2.10 如何将PHP的结果输出到非PHP页面中 289
A.2.11 如何实现页面的自动跳转 290
A.2.12 如何利用PHP绘制一个可以更换文字的按钮 291
A.2.13 如何利用PHP创建菜单 292
A.2.14 如何利用JavaScript和PHP实现网页制作中双下拉菜单的动态生成 294
A.2.15 如何使PHP能处理多个同名复选框 296
A.2.16 如何利用邮件来发送表单数据 297
A.2.17 如何才能删除数组的最后一个元素 299
A.2.18 如何对一段长的文字进行分解 299
A.2.19 如何利用PHP打开指定的网页 300
A.2.20 如何判断PHP中的变量是否已初始化 300
4.2.21 如何判断某个变量是否已定义 301
4.2.22 如何利用getdate( )函数获取时间和日期 301
A.2.23 如何检测Cookie是否生效 302
A.2.24 如何读取用Cookie设置的变量值 303
A.2.25 如何实现跨域名的Cookie 303
A.2.26 如何只让某个IP访问此页而其他人访问另一页 305
A.2.27 如何实现图像的缩放 305
A.2.28 如何使PHP4调用自己编写的COM组件 306
A.2.29 如何将一个字符串转换成不超过特定长度的字符串 307
A.2.30 如何检测用POST和GET方法提交的表单中的变量 307
A.2.31 如何利用PHP生成动态WAP页面 309
A.2.32 如何用PHP实现对上传的ZIP文件的解压 310
A.2.33 如何实现文件上载 312
A.2.34 如何使用PHP建立GIF 312
A.2.35 如何动态改变PHP的错误输出等级 313
A.2.36 如何实现PHP和JavaScript的混合编程 314
A.2.37 如何利用PHP对XML文件进行解析 315
A.2.38 如何在PHP中实现ASP的Application功能 318
A.2.39 如何利用PHP过滤换行符 320
A.2.40 如何利用PHP获取页面中的所有链接地址 320
A.2.41 如何使用PHP来给网页做导航条 321
A.3 其他问题 323
A.3.1 php_admin_value和php_value之间有何异同 323
A.3.2 ASP与PHP之间有何区别 323
A.3.3 PHP与PERL之间有何区别 323
A.3.4 PHP与Cold Fusion之间有何区别 323
A.3.5 如何直接读取请求的信息头 324
A.3.6 如何在PHP里启动一个进程以后让它在后台运行 324
A.3.7 如何在PHP里使用SSI 324
A.3.8 如何才能在Aache中使用PHP4 324
A.3.9 如何才能在IIS中使用PHP4 325
A.3.10 如何才能同时使用PHP3和PHP4 325
A.3.11 如何获知来访者的URL地址 325
A.3.12 如何将形如XXX.YYY.WWW.ZZZ的IP地址转变为整数 325
A.3.13 如何提高PHP程序的运行效率 326
A.3.14 如何在PHP中执行系统外部命令 326
A.3.15 如何在Linux/UNLX下定时运行PHP脚本 328
A.3.16 如何使用PHPLIB进行Session的管理和认证 328