新書推薦:
《
8秒按压告别疼痛
》
售價:HK$
87.4
《
津巴多时间心理学:挣脱束缚、改写命运的6种时间观
》
售價:HK$
77.3
《
大英博物馆东南亚简史
》
售價:HK$
177.0
《
纯粹·我只要少许
》
售價:HK$
80.6
《
投机苦旅:一位投机客的凤凰涅槃
》
售價:HK$
88.5
《
重返马赛渔场:社会规范与私人治理的局限
》
售價:HK$
69.4
《
日子慢慢向前,事事慢慢如愿
》
售價:HK$
55.8
《
场景供应链金融:将风口变成蓝海
》
售價:HK$
111.8
|
編輯推薦: |
清华大学出版社案例课堂大系
丛书以案例的形式讲解软件的内容,读者可以在实践中熟练掌握软件的使用方法。
每一个案例都精挑细选,同时配有全程语音讲解的视频文件,方便读者学习。
案例的选材广泛,涉及到软件应用的各个领域、各个行业,学习无死角。
CG设计系列全彩精印,同等价位下内容更多,同等内容下更实惠。
网站开发系列附赠超值,全面学习无障碍:
CSS属性速查表
HTML标签速查表
网页布局案例赏析
精彩网站配色方案赏析
精选JavaScript实例
JavaScript函数速查手册
CSS DIV布局案例赏析
案例源文件与教学课件
|
內容簡介: |
本书以零基础讲解为宗旨,用实例引导读者深入学习,采取“PHP基础知识→核心技术→操作数据库→高级应用→项目实战”的讲解模式,深入浅出地讲解PHP开发动态网站的各项技术及实战技能。
本书第1篇“PHP基础知识”主要讲解初识PHP,配置PHP服务器环境,PHP语言基础,流程控制和函数,字符串和正则表达式、PHP数组及操作等;第2篇“核心技术”主要讲解PHP与Web页面交互、时间和日期,面向对象编程,错误、异常处理与调试,文件系统与操作,图形图像处理技术,Cookie和会话管理,PHP加密技术等;第3篇“操作数据库”主要讲解MySQL数据库基础,使用MySQL Workbench管理MySQL数据库,PHP操作MySQL数据库等;第4篇“高级应用”主要讲解PDO数据库抽象类库,JavaScript编程基础,PHP与XML技术的综合应用,PHP与Ajax的综合应用,MVC结构与Smarty模板,Zend Framework框架等;第5篇“项目实战”主要通过一个综合案例开发论坛来整体讲解PHP在动态网站开发中的技术。
本书附带的DVD光盘中赠送了丰富的资源,诸如本书实例完整源代码、教学幻灯片、本书精品教学视频、常用SQL语句速查手册、PHP常用函数速查手册、16个经典项目开发完整源码、PHP网站开发工程师面试技巧、PHP网站开发工程师常见面试题、优秀网站开发工程师之路——网站开发经验及技巧大汇总。
本书适合任何想学习PHP开发动态网站的人员,无论您是否从事计算机相关行业,无论您是否接触过PHP,通过学习均可快速掌握PHP开发动态网站的方法和技巧。
|
目錄:
|
目 录
第1篇 PHP基础知识
第1章
初识PHP. 3
1.1 了解PHP. 4
1.1.1 PHP的概念... 4
1.1.2 PHP的发展历程... 4
1.1.3 PHP语言的优势... 5
1.2 PHP的应用领域... 5
1.3 PHP 5.5的新特点... 6
1.4 PHP常用开发工具... 8
1.4.1 PHP代码开发工具... 8
1.4.2 网页设计工具... 9
1.4.3 文本编辑工具... 9
1.5 网站建设的基本流程... 10
1.5.1 网站规划... 10
1.5.2 搜集资料... 10
1.5.3 制作网页... 11
1.5.4 网站测试... 12
1.5.5 申请域名... 12
1.5.6 申请空间... 12
1.5.7 网站备案... 12
1.5.8 发布网页... 16
1.5.9 网站推广和维护... 16
1.6 高手甜点... 17
1.7 跟我练练手... 17
第2章
配置PHP 服务器环境... 19
2.1 PHP服务器概述... 20
2.2 安装PHP前的准备工作... 20
2.2.1 软硬件环境... 20
2.2.2 实例1获取PHP 5.5安装
资源包... 21
2.3 PHP IIS服务器的安装配置... 22
2.3.1 实例2IIS简介及其安装... 23
2.3.2 实例3PHP的安装... 24
2.3.3 实例4设置虚拟目录... 26
2.4 PHP Apache服务器的环境搭建... 27
2.4.1 Apache简介... 28
2.4.2 实例5关闭原有的网站
服务器... 28
2.4.3 实例6安装Apache. 29
2.4.4 实例7将PHP与Apache
建立关联... 30
2.5 实例8Windows下使用WampServer
组合包... 32
2.6 实例9测试第一个PHP程序... 34
2.7 高手甜点... 35
2.8 跟我练练手... 36
第3章
PHP语言基础... 37
3.1 PHP标识... 38
3.1.1 短风格... 38
3.1.2 Script风格... 38
3.1.3 ASP风格... 38
3.2 编码规范... 38
3.2.1 什么是编码规范... 39
3.2.2 PHP的一些编码规范... 39
3.3 常量... 40
3.3.1 实例1声明和使用常量... 40
3.3.2 实例2内置常量... 41
3.4 变量... 43
3.4.1 PHP中的变量声明... 43
3.4.2 实例3可变变量与变量的
引用... 43
3.4.3 实例4变量作用域... 44
3.5 变量的类型... 48
3.5.1 什么是类型... 48
3.5.2 整型... 49
3.5.3 浮点型... 49
3.5.4 布尔型... 49
3.5.5 实例5字符串型... 50
3.5.6 实例6数组型... 51
3.5.7 对象型... 53
3.5.8 NULL型... 53
3.5.9 资源类型... 54
3.5.10 实例7数据类型之间相互
转换... 54
3.6 运算符... 55
3.6.1 实例8算术运算符... 55
3.6.2 实例9字符串运算符... 56
3.6.3 赋值运算符... 57
3.6.4 实例10比较运算符... 58
3.6.5 逻辑运算符... 59
3.6.6 按位运算符... 59
3.6.7 否定控制运算符... 60
3.6.8 错误控制运算符... 60
3.6.9 三元运算符... 60
3.6.10 运算符的优先级和结合规则... 60
3.7 PHP的表达式... 60
3.8 实例11创建多维数组... 61
3.9 高手甜点... 62
3.10 跟我练练手... 62
第4章
流程控制和函数... 63
4.1 流程控制概述... 64
4.2 条件控制结构... 64
4.2.1 实例1单一条件分支结构
if语句 64
4.2.2 实例2双向条件分支结构
ifelse语句 65
4.2.3 实例3多向条件分支结构
elseif语句 66
4.2.4 实例4多向条件分支结构
switch语句 68
4.3 循环控制结构... 69
4.3.1 实例5while循环语句... 69
4.3.2 实例6dowhile循环
语句... 71
4.3.3 实例7for循环语句... 72
4.3.4 实例8foreach循环语句... 73
4.3.5 实例9流程控制的另一种
书写格式... 74
4.3.6 实例10使用breakcontinue
语句跳出循环... 76
4.4 函数... 77
4.4.1 PHP函数概述... 77
4.4.2 实例11定义和调用函数... 77
4.4.3 实例12向函数传递参数
数值... 78
4.4.4 实例13向函数传递参数
引用... 79
4.4.5 实例14从函数中返回值... 80
4.4.6 实例15对函数的引用... 81
4.4.7 实例16对函数取消引用... 82
4.5 实例17条件分支结构的综合
应用... 83
4.6 实例18循环控制结构的综合
应用... 84
4.7 高手甜点... 85
4.8 跟我练练手... 86
第5章
字符串和正则表达式... 87
5.1 实例1字符串的单引号和双引号... 88
5.2 实例2字符串的连接符... 89
5.3 字符串的基本操作... 91
5.3.1 手动和自动转义字符串中的
字符... 91
5.3.2 实例3计算字符串的长度... 91
5.3.3 实例4字符串单词统计... 92
5.3.4 实例5清理字符串中的
空格... 92
5.3.5 实例6字符串切分与组合... 93
5.3.6 实例7字符串子串截取... 94
5.3.7 实例8字符串子串替换... 95
5.3.8 实例9字符串查找... 96
5.4 什么是正则表达式... 97
5.5 正则表达式语法规则... 97
5.5.1 方括号[ ] 98
5.5.2 连字符- 98
5.5.3 点号字符. 98
5.5.4 限定符 、*、?、{n,m} 98
5.5.5 行定位符^和$ 98
5.5.6 排除字符[^] 99
5.5.7 括号字符 99
5.5.8 选择字符| 99
5.5.9 转义字符\与反斜杠\ 99
5.5.10 认证email的正则表达... 99
5.5.11 实例10使用正则表达式对
字符串进行匹配... 100
5.5.12 实例11使用正则表达式
替换字符串子串... 101
5.5.13 实例12使用正则表达式
切分字符串... 102
5.6 实例13创建酒店系统在线
订房表... 103
5.7 高手甜点... 106
5.8 跟我练练手... 106
第6章
PHP数组及操作... 109
6.1 什么是数组... 110
6.2 数组类型... 110
6.2.1 实例1数字索引数组... 110
6.2.2 实例2关联索引数组... 111
6.3 数组构造... 112
6.3.1 实例3一维数组... 112
6.3.2 实例4多维数组... 113
6.4 遍历数组... 115
6.4.1 实例5遍历一维数字索引
数组... 115
6.4.2 实例6遍历一维联合索引
数组... 116
6.4.3 实例7遍历多维数组... 117
6.5 数组排序... 118
6.5.1 实例8一维数组排序... 118
6.5.2 实例9多维数组排序... 120
6.6 实例10字符串与数组的转换... 121
6.7 向数组中添加和删除元素... 122
6.7.1 实例11向数组中添加
元素... 122
6.7.2 实例12从数组中删除
元素... 124
6.8 实例13查询数组中指定元素... 126
6.9 实例14统计数组元素个数... 127
6.10 实例15删除数组中重复元素... 129
6.11 实例16调换数组中的键值
和元素值... 130
6.12 实例17数组的序列化... 131
6.13 高手甜点... 132
6.14 跟我练练手... 132
第2篇 核
心 技 术
第7章
PHP与Web 页面交互... 137
7.1 实例1使用动态内容... 138
7.2 表单与PHP. 139
7.3 表单设计... 139
7.3.1 表单基本结构... 139
7.3.2 实例2文本框... 139
7.3.3 实例3选项框... 141
7.3.4 实例4单选按钮... 142
7.3.5 实例5下拉列表... 144
7.3.6 实例6重置按钮... 145
7.3.7 实例7提交按钮... 146
7.4 传递数据的两种方法... 148
7.4.1 用POST方式传递数据... 149
7.4.2 实例8用GET方式传递
数据... 149
7.5 PHP获取表单传递数据的方法... 150
7.6 实例9PHP对URL传递的参数
进行编码... 151
7.7 实例10PHP与Web表单的综合
应用... 151
7.8 高手甜点... 153
7.9 跟我练练手... 154
第8章
时间和日期... 155
8.1 系统时区设置... 156
8.1.1 时区划分... 156
8.1.2 时区设置... 156
8.2 PHP日期和时间函数... 156
8.2.1 关于UNIX时间戳... 156
8.2.2 实例1获取当前时间戳... 157
8.2.3 获取当前日期和时间... 158
8.2.4 实例2使用时间戳获取日期
信息... 158
8.2.5 实例3检验日期的
有效性... 161
8.2.6 实例4输出格式化时间戳的
日期和时间... 162
8.2.7 实例5显示本地化的日期
和时间... 163
8.2.8 实例6将日期和时间解析
为UNIX时间戳... 165
8.2.9 日期和时间在PHP和MySQL
数据格式之间转换... 165
8.3 实例7比较两个时间的大小... 166
8.4 实例8实现倒计时功能... 167
8.5 高手甜点... 167
8.6 跟我练练手... 168
第9章
面向对象编程... 169
9.1 类和对象的介绍... 170
9.2 PHP中类的操作... 171
9.2.1 类的声明... 171
9.2.2 成员属性... 171
9.2.3 成员方法... 172
9.2.4 类的实例化... 172
9.2.5 实例1访问类中的成员属性
和方法... 173
9.3 实例2构造方法和析构方法... 174
9.4 实例3访问方法... 176
9.5 实例4类的继承... 178
9.6 抽象类和接口... 179
9.6.1 实例5抽象类... 179
9.6.2 实例6接口... 180
9.7 面向对象的多态性... 183
9.7.1 实例7通过继承实现
多态... 183
9.7.2 实例8通过接口实现
多态... 184
9.8 高手甜点... 186
9.9 跟我练练手... 186
第10章
错误、异常处理与调试... 187
10.1 常见的错误和异常... 188
10.2 错误处理... 191
10.2.1 php.ini中的错误处理机制... 191
10.2.2 实例1应用DIE语句
调试... 191
10.2.3 实例2自定义错误和错误
触发器... 192
10.2.4 实例3错误记录... 196
10.3 异常处理... 197
10.3.1 实例4异常的基本处理
方法... 197
10.3.2 实例5自定义的异常
处理器... 199
10.3.3 实例6处理多个异常... 200
10.3.4 实例7设置顶层异常
处理器... 202
10.4 实例8处理异常或错误... 203
10.5 高手甜点... 204
10.6 跟我练练手... 205
第11章
文件系统与操作... 207
11.1 文件操作... 208
11.1.1 实例1文件数据写入... 208
11.1.2 实例2文件数据读取... 211
11.2 实例3目录操作... 213
11.3 实例4文件的上传... 218
11.4 实例5编写文本类型的访客
计算器... 220
11.5 高手甜点... 221
11.6 跟我练练手... 221
第12章
图形图像处理技术... 223
12.1 实例1在PHP中加载GD库... 224
12.2 图形图像的典型应用案例... 226
12.2.1 实例2创建一个简单的
图像... 226
12.2.2 实例3使用GD2函数在
照片上添加文字... 228
12.2.3 实例4使用TrueType字体
处理中文生成图片... 229
12.3 Jpgraph库的使用... 231
12.3.1 实例5Jpgraph的安装... 231
12.3.2 实例6Jpgraph的配置... 232
12.3.3 实例7制作柱形图
与折线图统计图... 232
12.3.4 实例8制作圆形统计图... 234
12.4 实例9制作3D饼形统计图... 236
12.5 高手甜点... 237
12.6 跟我练练手... 238
第13章
Cookie和会话管理... 239
13.1 Cookie基本操作... 240
13.1.1 什么是Cookie. 240
13.1.2 实例1创建Cookie. 240
13.1.3 实例2读取Cookie. 241
13.1.4 实例3删除Cookie. 242
13.2 认识Session. 243
13.2.1 什么是Session. 243
13.2.2 Session基本功能... 244
13.2.3 Cookie与Session. 244
13.2.4 储存Session ID在Cookie
或URL中... 244
13.3 会话管理... 244
13.3.1 实例4创建会话... 244
13.3.2 实例5注册会话变量... 245
13.3.3 实例6使用会话变量... 246
13.3.4 实例7注销和销毁会话
变量... 246
13.4 实例8会话管理的综合应用... 247
13.5 高手甜点... 248
13.6 跟我练练手... 249
第14章
PHP加密技术... 251
14.1 使用PHP加密函数... 252
14.1.1 实例1使用md5函数进行
加密... 252
14.1.2 实例2使用crypt函数
进行加密... 252
14.1.3 实例3使用sha1函数进行
加密... 254
14.2 使用PHP加密扩展库... 254
14.2.1 实例4安装和使用Mcrypt
扩展库... 254
14.2.2 实例5使用Mhash
扩展库... 256
14.3 高手甜点... 258
14.4 跟我练练手... 259
第3篇 数据库操作
第15章
MySQL数据库基础... 263
15.1 什么是MySQL. 264
15.1.1 客户机服务器软件... 264
15.1.2 MySQL版本... 264
15.1.3 MySQL的优势... 265
15.2 启动服务并登录MySQL数据库... 265
15.2.1 实例1启动MySQL
服务... 266
15.2.2 实例2登录MySQL
数据库... 267
15.2.3 实例3配置Path变量... 269
15.3 MySQL数据库的基本操作... 271
15.3.1 实例4创建数据库... 271
15.3.2 实例5查看数据库... 271
15.3.3 实例6删除数据库... 272
15.3.4 实例7选择数据库... 272
15.4 MySQL数据表的基本操作... 273
15.4.1 实例8创建数据表... 273
15.4.2 实例9查看数据表结构... 274
15.4.3 实例10修改数据表
结构... 275
15.4.4 实例11删除数据表... 276
15.5 MySQL语句操作... 276
15.5.1 实例12插入记录... 277
15.5.2 实例13查询记录... 277
15.5.3 实例14修改记录... 278
15.5.4 实例15删除记录... 278
15.6 MySQL数据库的备份与还原... 278
15.6.1 实例16数据备份... 279
15.6.2 实例17数据还原... 285
15.7 高手甜点... 287
15.8 跟我练练手... 288
第16章
使用MySQL Workbench
管理MySQL数据库... 289
16.1 MySQL Workbench简介... 290
16.1.1 MySQL Workbench概述... 290
16.1.2 MySQL Workbench 的优势... 290
16.1.3 MySQL Workbench 的安装... 290
16.2 SQL Development的基本操作... 293
16.2.1 创建数据库连接... 293
16.2.2 创建新的数据库... 294
16.2.3 创建和删除新的数据表... 296
16.2.4 添加、修改表记录... 299
16.2.5 查询表记录... 299
16.2.6 修改表结构... 300
16.3 Data Modeling的基本操作... 301
16.3.1 建立E-R模型... 301
16.3.2 导入E-R模型... 305
16.4 Server Administration的基本操作... 307
16.4.1 管理MySQL用户... 307
16.4.2 备份MySQL数据库... 310
16.4.3 还原MySQL数据库... 313
16.5 高手甜点... 314
16.6 跟我练练手... 315
第17章
PHP操作MySQL数据库... 317
17.1 PHP访问MySQL数据库的一般
步骤... 318
17.2 实例1连接数据库前的准备
工作... 318
17.3 PHP操作MySQL数据库的函数... 319
17.3.1 实例2通过mysqli类库访问
MySQL数据库... 319
17.3.2 实例3使用mysqli_connect
函数连接MySQL服务器... 321
17.3.3 实例4使用mysqli_select_db
函数选择数据库文件... 322
17.3.4 实例5使用mysqli_query
函数执行SQL语句... 322
17.3.5 实例6使用mysqli_fetch_assoc
函数从数组结果集中获取
信息... 322
17.3.6 实例7使用mysqli_fetch_
object函数从结果中获取
一行作为对象... 323
17.3.7 实例8使用mysqli_num_
rows函数获取查询结果
集中的记录数... 323
17.3.8 实例9使用mysqli_free_
result函数释放资源... 323
17.3.9 实例10使用mysqli_close
函数关闭连接... 324
17.4 实例11使用insert语句动态添加
用户信息... 324
17.5 实例12使用select语句查询数据
信息... 326
17.6 高手甜点... 328
17.7 跟我练练手... 329
第4篇 高
级 应 用
第18章
PDO数据库抽象类库... 333
18.1 PDO概述... 334
18.2 实例1PDO的安装... 334
18.3 使用PDO操作MySQL. 335
18.3.1 实例2连接MySQL数据库
的方法... 335
18.3.2 实例3使用PDO时的try
catch错误处理结构... 336
18.3.3 实例4使用PDO执行SQL
的选择语句... 338
18.3.4 实例5使用PDO获取返回
数据的类方法... 339
18.3.5 实例6使用PDO执行SQL
的添加、修改语句... 341
18.3.6 实例7使用PDO执行SQL
的删除语句... 342
18.4 实例8PDO的prepare表述... 343
18.5 高手甜点... 344
18.6 跟我练练手... 345
第19章
JavaScript编程基础... 347
19.1 认识JavaScript 348
19.1.1 什么是JavaScript 348
19.1.2 JavaScript的特点... 348
19.2 JavaScript在HTML中的使用... 349
19.2.1 实例1在HTML网页头中
嵌入JavaScript代码... 349
19.2.2 实例2在HTML网页中嵌入
JavaScript代码... 350
19.2.3 实例3在HTML网页的元素
事件中嵌入JavaScript代码... 351
19.2.4 实例4在HTML中调用已经
存在的JavaScript文件... 352
19.2.5 实例5通过JavaScript伪
URL引入JavaScript脚本
代码... 353
19.3 JavaScript的基本语法... 354
19.3.1 执行顺序... 355
19.3.2 区分大小写... 355
19.3.3 分号与空格... 355
19.3.4 对代码行进行折行... 355
19.3.5 实例6注释... 356
19.4 JavaScript的数据结构... 357
19.4.1 标识符... 357
19.4.2 关键字... 358
19.4.3 保留字... 358
19.4.4 常量... 359
19.4.5 实例7变量... 359
19.5 看透代码中的数据类型... 361
19.5.1 实例8typeof运算符... 362
19.5.2 实例9Undefined类型... 363
19.5.3 实例10Null类型... 363
19.5.4 实例11Boolean类型... 364
19.5.5 实例12Number类型... 365
19.5.6 实例13String类型... 366
19.6 条件判断语句... 367
19.6.1 实例14if语句... 367
19.6.2 实例15ifelse语句... 368
19.6.3 实例16switch语句... 369
19.7 循环控制语句... 371
19.7.1 实例17while语句... 371
19.7.2 实例18dowhile语句... 372
19.7.3 实例19for循环... 373
19.8 在PHP中调用JavaScript代码... 374
19.8.1 实例20验证表单元素的值
是否为空... 374
19.8.2 实例21实现即时验证
效果... 375
19.9 实例22制作树形菜单... 377
19.10 高手甜点... 381
19.11 跟我练练手... 382
第20章
PHP与XML技术的综合
应用... 383
20.1 实例1理解XML概念... 384
20.2 XML语法基础... 385
20.2.1 实例2XML文档组成
和声明... 385
20.2.2 实例3XML元素介绍... 387
20.2.3 处理指令实体引用... 389
20.2.4 实例4XML命名空间... 389
20.2.5 实例5XML DTD.. 390
20.2.6 实例6使用CDATA
标签... 391
20.3 实例7将XML文档转换为HTML
加以输出... 392
20.4 实例8在PHP中创建XML
文档... 392
20.5 使用SimpleXML扩展... 393
20.5.1 实例9创建SimpleXMLElement
对象... 393
20.5.2 实例10访问特定节点元素
和属性... 395
20.5.3 实例11添加XML元素
和属性... 396
20.6 实例12动态创建XML文档... 397
20.7 高手甜点... 398
20.8 跟我练练手... 398
第21章
PHP与Ajax的综合应用... 399
21.1 Ajax概述... 400
21.1.1 实例1什么是Ajax. 400
21.1.2 Ajax的关键元素... 403
21.1.3 实例2CSS与Ajax. 403
21.2 Ajax快速入门... 404
21.2.1 实例3全面剖析
XMLHttpRequest对象... 404
21.2.2 实例4发出Ajax请求... 406
21.2.3 实例5处理服务器响应... 408
21.3 实例6在PHP中应用Ajax技术
的应用... 409
21.4 高手甜点... 414
21.5 跟我练练手... 415
第22章
MVC结构与 Smarty模板... 417
22.1 MVC概述... 418
22.2 什么是模板引擎... 419
22.3 Smarty概述... 419
22.3.1 什么是Smarty. 419
22.3.2 Smarty与MVC.. 420
22.4 Smarty的安装和配置... 420
22.4.1 实例1Smarty下载
和安装... 420
22.4.2 实例2第一个Smarty
程序... 421
22.5 Smarty模板设计... 422
22.5.1 Smarty模板文件... 422
22.5.2 实例3Smarty标识... 422
22.5.3 实例4Smarty变量... 424
22.5.4 实例5Smarty数组... 425
22.5.5 实例6Smarty中流程控制
语句... 426
22.6 高手甜点... 428
22.7 跟我练练手... 428
第23章
Zend Framework 框架... 429
23.1 什么是Zend
Framework框架... 430
23.2 Zend Framework的目录结构... 430
23.3 Zend Framework的安装与测试... 431
23.3.1 实例1Zend Framework的
安装... 431
23.3.2 实例2创建一个新的Zend
Framework应用... 431
23.4 PHP与Zend
Framework的基本
操作... 434
23.4.1 实例3在Zend Framework
应用中创建控制层文件... 434
23.4.2 实例4在Zend Framework的
控制层文件中添加一个action. 435
23.4.3 实例5在Zend Framework中
创建布局layout 436
23.4.4 实例6在Zend Framework中
的数据库操作... 437
23.4.5 实例7在Zend Framework中
创建表单... 438
23.5 高手甜点... 440
23.6 跟我练练手... 440
第5篇 项
目 实 战
第24章 开发论坛... 443
24.1 网站的需求分析... 444
24.1.1 需求分析... 444
24.1.2 网站功能模块分析... 444
24.2 数据库分析... 444
24.2.1 分析数据库... 445
24.2.2 创建数据表... 445
24.3 论坛的代码实现... 446
24.3.1 数据库连接相关文件... 446
24.3.2 论坛主页面... 452
24.3.3 新用户注册页面... 456
24.3.4 论坛帖子的相关页面... 459
24.3.5 后台管理系统的相关页面... 469
|
內容試閱:
|
第2章 配置PHP服务器环境
在编写PHP文件之前,读者需要配置PHP服务器,包括软硬件环境的检查,如何获得PHP安装资源包等,详细讲解目前常见的主流PHP服务器搭配方案:PHP IIS和PHP Apache。另外讲述了在Windows下如何使用WampServer组合包,最后通过一个测试案例,读者可以检查Web服务器建构是否成功。
本章要点已掌握的在方框中打钩
了解PHP服务器的概念
熟悉安装PHP前的准备工作
掌握PHP IIS服务器的安装配置方法
掌握PHP Apache服务器的环境搭建方法
Windows下使用WampServer组合包
测试第一个PHP程序
2.1 PHP服务器概述
在学习PHP服务器之前,读者需要了解HTML网页的运行原理。网页浏览者在客户端通过浏览器向服务器发出页面请求,服务器接收到请求后将页面返回到客户端的浏览器,这样网页浏览者即可看到页面显示效果。
PHP语言在Web开发中作为嵌入式语言,需要嵌入HTML代码中执行。要想运行PHP网站,需要搭建PHP服务器。PHP网站的运行原理如图2-1所示。
图2-1 PHP网站运行原理
从图2-1可以看出,PHP程序运行的基本流程如下。
1 网页浏览者首先在浏览器的地址栏中输入要访问的主页地址,按Enter键触发该申请。
2 浏览器将申请发送到PHP网站服务器。网站服务器根据申请读取数据库中的页面。
3 通过Web服务器向客户端发送处理结果,客户端的浏览器显示最终页面。
由于在客户端显示的只是服务器端处理过的HTML代码页面,所以网页浏览者看不到PHP代码,这样可以提高代码的安全性。同时在客户端不需要配置PHP环境,只要安装浏览器即可。
2.2 安装PHP前的准备工作
在安装PHP之前,读者需要了解安装所需要的软硬件环境和获取PHP安装资源包的途径。
2.2.1 软硬件环境
大部分软件在安装的过程中都需要软硬件环境的支持,当然PHP也不例外。在硬件方面,如果只是为了学习上的需求,PHP只需要一台普通的计算机即可。在软件方面需要根据实际工作的需求选择不同的Web服务器软件。
PHP具有跨平台特性,所以PHP开发用什么样的系统不太重要,开发出来的程序能够很轻松地移植到其他操作系统中。另外,PHP开发平台支持目前主流的操作系统,包括Windows系列、Linux、UNIX和Mac OS X等。本书以Windows平台为例进行讲解。
另外,用户还需要安装Web服务器软件。目前,PHP支持大多数Web服务器软件,常见的有IIS、Apache、PWS和Netscape等。比较流行的是IIS和Apache,下面将详细讲述这两种Web服务器的安装和配置方法。
2.2.2 实例1获取PHP
5.5安装资源包
PHP安装资源包中包括了安装和配置PHP服务器的所需文件和PHP扩展函数库。获取PHP安装资源包的方法比较多,很多网站都提供PHP安装包,但是建议读者从官方网站下载,具体操作步骤如下。
打开IE浏览器,在地址栏中输入下载地址http:windows.php.netdownload,按Enter键确认,登录到PHP下载网站,如图2-2所示。
图2-2 PHP网站下载页面
进入下载页面,单击Binaries and sources Releases下拉列表框右侧的下三角按钮,在打开的下拉列表中选择合适的版本,这里选择PHP 5.5版本,如图2-3所示。
图2-3 选择需要的版本
图2-3中,下拉列表中VC11代表的是the Visual Studio
2012 compiler编译器编译,通常用于PHP IIS服务器下。要求用户安装Visual C
Redistributable for Visual Studio 2012。
显示所选版本号中PHP安装包的各种格式。这里选择Zip压缩格式,单击Zip文字链接,如图2-4所示。
图2-4 选择需要版本的格式
打开【另存为】对话框,选择保存路径,然后保存文件即可,如图2-5所示。
图2-5 【另存为】对话框
2.3 PHP
IIS服务器的安装配置
下面介绍PHP IIS服务器架构的配置方法和技巧。
2.3.1 实例2IIS简介及其安装
IIS是Internet Information Services互联网信息服务的简称,是微软公司提供的基于Microsoft Windows的互联网基本服务。由于它功能强大、操作简单和使用方便,所以是目前较为流行的Web服务器之一。
目前IIS只能运行在Windows系列的操作系统上。针对不同的操作系统,IIS也有不同的版本。下面以Windows 7为例进行讲解,默认情况下此操作系统没有安装IIS。
安装IIS组件的具体步骤如下。
单击【开始】按钮,在弹出的【开始】菜单中选择【控制面板】命令,如图2-6所示。
打开【控制面板】窗口,双击【程序】选项,如图2-7所示。
图2-6 选择【控制面板】命令
图2-7 【控制面板】窗口
打开【程序】窗口,从中单击【打开或关闭Windows功能】文字链接,如图2-8所示。
在打开的【Windows功能】对话框中,选中【Internet信息服务】复选框,然后单击【确定】按钮,如图2-9所示。
图2-8 【程序】窗口
图2-9 【Windows功能】对话框
安装完成后,即可测试是否成功。在IE浏览器的地址栏中输入http:localhost,打开IIS的欢迎画面页面,如图2-10所示。
图2-10 IIS的欢迎画面页面
2.3.2 实例3PHP的安装
IIS安装完成后,即可开始安装PHP。PHP的安装过程大致分成3个步骤。
1. 解压和设置安装路径
将2.2.2小节中获取到的安装资源包解压缩,解压缩后得到的文件夹中放着PHP所需要的文件。将文件夹复制到PHP的安装目录中。PHP的安装路径可以根据需要进行设置,例如本书设置为D:\PHP5\,文件夹复制后的效果如图2-11所示。
图2-11 PHP的安装目录
2. 配置PHP
在安装目录中,找到php.ini-development文件,此文件正是PHP 5.5的配置文件。将这个文件的扩展名.ini-development修改为.ini,然后用记事本打开。文件中参数很多,所以建议读者使用记事本的查找功能,快速查找需要的参数。
查找并修改相应的参数值:extension_dir="D:\PHP5\ext",此参数为PHP扩展函数的查找路径,其中D:\PHP5\为PHP的安装路径,读者可以根据自己的安装路径进行修改。采用同样的方法,修改参数:cgi.force_redirect =0。
另外,去除下面的参数值扩展前的引号,最终结果如图2-12所示。
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
图2-12 去除引号
3. 添加系统变量
要想让系统运行PHP时找到上面的安装路径,就需要将PHP的安装目录添加到系统变量中。具体操作步骤如下。
右击桌面上的【计算机】图标,在弹出的快捷菜单中选择【属性】命令,打开【系统】窗口,如图2-13所示。
单击【高级系统设置】文字链接,打开【系统属性】对话框,如图2-14所示。
默认显示【高级】选项卡,在该选项卡中单击【环境变量】按钮,打开【环境变量】对话框。在【系统变量】列表框中选择变量Path,然后单击【编辑】按钮,如图2-15所示。
弹出【编辑系统变量】对话框,在【变量值】文本框的末尾输入;d:\PHP5,如图2-16所示。
单击【确定】按钮,返回到【环境变量】对话框,依次单击【确定】按钮即可关闭对话框,然后重新启动计算机。这样设置的环境变量即可生效。
图2-13 【系统】窗口
图2-14 【系统属性】对话框
图2-15 【环境变量】对话框
图2-16 【编辑系统变量】对话框
2.3.3 实例4设置虚拟目录
如果用户是按照前述的方式来启动 IIS 网站服务器,那么整个网站服务器的根目录就位于系统盘符:\Inetpub\wwwroot中,也就是如果要添加网页到网站中显示,都必须放置在这个目录之下。但是会发现这个路径不仅太长,也不好记,使用起来相当不方便。
这些问题都可以通过修改虚拟目录来解决,具体操作步骤如下。
在桌面上右击【计算机】图标,在弹出的快捷菜单中选择【管理】命令,打开【计算机管理】窗口,在左侧的列表框中展开【服务和应用程序】选项,选择【Internet 信息服务IIS管理器】选项,在右侧选择Default
Web Site选项后,右击并在弹出的快捷菜单中选择【添加虚拟目录】命令,如图2-17所示。
图2-17 【计算机管理】窗口
打开【添加虚拟目录】对话框,在【别名】文本框中输入虚拟网站的名称,这里输入php5.5,然后设置物理路径为D:\php该文件夹需已存在,单击【确定】按钮,如图2-18所示。
图2-18 【添加虚拟目录】对话框
至此,已完成了 IIS 网站服务器设置的更改,IIS 网站服务器的网站虚拟目录已经更改为D:\php了。
2.4
PHP Apache服务器的环境搭建
Apache支持大部分操作系统,搭配PHP程序的应用,即可开发出功能强大的互动网站。本节主要讲述PHP Apache服务器的搭建方法。
2.4.1 Apache简介
Apache可以运行在几乎所有的计算机平台上,由于其跨平台和安全性被广泛使用,是目前最流行的Web服务器端软件之一。
和一般的Web服务器相比,Apache主要特点如下。
1 跨平台应用:几乎可以在所有的计算机平台上运行。
2 开放源代码:Apache服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使用,充分体现了开源软件的精神。
3 支持HTTP 1.1协议:Apache是最先使用HTTP 1.1协议的Web服务器之一,它完全兼容HTTP 1.1协议并与HTTP 1.0协议向后兼容。Apache已为新协议所提供的全部内容做好了必要的准备。
4 支持通用网关接口CGI:Apache遵守CGI 1.1标准并且提供了扩充的特征,如定制环境变量和很难在其他Web服务器中找到的调试支持功能。
5 支持常见的网页编程语言:可支持的网页编程语言包括PERL、PHP、Python和Java等,支持各种常用的Web编程语言使Apache具有更广泛的应用领域。
6 模块化设计:通过标准的模块实现专有的功能,提高了项目完成的效率。
7 运行非常稳定,同时具备效率高、成本低的特点,而且具有良好的安全性。
2.4.2 实例5关闭原有的网站服务器
在安装 Apache 网站服务器之前,如果所使用的操作系统已经安装了网站服务器,如IIS网站服务器等,用户必须要先停止这些服务器,才能正确安装 Apache 网站服务器。
以 Windows 7 操作系统为例,请在桌面上右击【计算机】图标,在弹出的快捷菜单中选择【管理】命令,打开【计算机管理】窗口,在左侧的列表框中展开【服务和应用程序】选项,然后选择【Internet 信息服务IIS管理器】选项,在右侧的列表框中单击【停止】文字链接即可停止IIS服务器,如图2-19所示。
图2-19 停止IIS服务器
如此一来,原来的服务器软件即失效不再工作,也不会与即将安装的 Apache 网站服务器产生冲突。当然如果用户的系统原来就没有安装 IIS 等服务器软件,则可略过这一小节的步骤直接进行服务器的安装。
2.4.3 实例6安装Apache
Apache是免费软件,用户可以从官方网站直接下载。Apache的官方网站为http:www.apache.org。
下面以Apache 2.2为例,讲解如何安装Apache。具体操作步骤如下。
双击Apache安装程序,打开安装向导欢迎界面,单击Next按钮,如图2-20所示。
弹出Apache许可协议界面,阅读完后,选中I
accept the terms in the license agreement单选按钮,单击Next按钮,如图2-21所示。
图2-20 欢迎界面
图2-21 Apache许可协议界面
弹出Apache 服务器注意事项界面,阅读完成后,单击Next按钮,如图2-22所示。
弹出服务器信息设置界面,输入服务器的一些基本信息,分别为Network Domain网络域名、Server Name服务器名、Administrators Email Address管理员信箱和Apache的工作方式。如果只是在本地计算机上使用Apache,前两项可以输入localhost。工作方式建议选择第一项:针对所有用户,工作端口为80,当机器启动时自动启动Apache。单击Next按钮,如图2-23所示。
弹出安装类型界面,其中Typical为典型安装,Custom为自定义安装。默认情况下,选择典型安装即可,单击Next按钮,如图2-24所示。
弹出安装路径选择界面,单击Change按钮,可以重新设置安装路径,本实例采用默认安装路径,单击Next按钮,如图2-25所示。
弹出安装准备就绪界面,单击Install按钮,如图2-26所示。
系统开始自动安装Apache主程序,安装完成后,弹出提示信息对话框,单击Finish按钮关闭对话框,如图2-27所示。
图2-22 Apache 服务器注意事项界面
图2-23 服务器信息设置界面
图2-24 安装类型界面
图2-25 安装路径选择界面
图2-26 安装准备就绪界面
图2-27 Apache安装完成
|
|