普通高等学校计算机教育“十二五”规划教材

PHP编程基础与实例教程(第2版)

PHP的入门与提高教程,融合了软件工程、UI设计、软件测试等基础知识,提供微课视频,易于初学者学习
分享 推荐 9 收藏 38 阅读 7.9K
孔祥盛 (主编) 978-7-115-42055-8

关于本书的内容有任何问题,请联系 许金霞

1、配套资料全:源代码、贯穿全书的案例、习题答案等
2、实用性、实效性都很强,适合初学者入门与提高的需要
3、与同类书籍相比,对基本概念的讲解透彻,条理清晰,步骤详细,非常适合自学

内容摘要

PHP简单易学且功能强大,是开发Web应用程序理想的脚本语言。本书由浅入深、循序渐进,系统地介绍了PHP的相关知识及其在Web应用程序开发中的实际应用,并通过具体案例,使读者巩固所学知识,更好地进行开发实践。本书共分为13章,涵盖了PHP开发环境的搭建、PHP语法、FORM表单、数据库设计、MySQL数据库、PHP与数据库连接、会话控制、界面设计等内容。
本书内容丰富、讲解深入,适用于初、中级PHP用户,可以作为各类院校相关专业的教材,同时也是一本面向广大PHP爱好者的PHP实用参考书。

目录

第 1章 PHP入门 1
1.1 PHP概况 1
1.1.1 PHP的优势 1
1.1.2 PHP的应用领域 2
1.1.3 HTML内嵌式的脚本语言 2
1.2 PHP脚本程序工作流程 3
1.2.1 Web浏览器 3
1.2.2 HTML代码 3
1.2.3 PHP预处理器 3
1.2.4 Web服务器 3
1.2.5 HTTP协议 3
1.2.6 数据库服务器 4
1.2.7 PHP程序的工作流程 5
1.3 PHP服务器的构建 6
1.3.1 服务器安装前的准备工作 6
1.3.2 安装服务器 8
1.3.3 启动与停止服务 10
1.3.4 第 一个PHP程序 12
1.3.5 配置服务器 12
习题 17
第 2章 PHP基础 18
2.1 PHP代码基本语法 18
2.1.1 PHP开始标记与结束标记 18
2.1.2 PHP注释 20
2.1.3 PHP语句及语句块 21
2.2 PHP程序的组成 22
2.2.1 关于PHP数据 23
2.2.2 PHP数据类型 23
2.2.3 浏览器端的数据采集 28
2.2.4 PHP程序的数据采集 29
2.2.5 PHP数据处理 29
2.2.6 PHP数据的输出 30
2.3 编码规范 32
2.3.1 书写规范 32
2.3.2 命名规范 33
2.3.3 为代码添加注释 34
习题 34
第3章 PHP表达式 35
3.1 常量 35
3.1.1 自定义常量 35
3.1.2 常量的内存分配 36
3.1.3 预定义常量 36
3.2 变量 37
3.2.1 变量的基本概念 37
3.2.2 变量的内存分配 38
3.2.3 变量的赋值方式 39
3.2.4 可变变量 41
3.3 有关变量或常量状态的函数 41
3.3.1 数据类型查看函数 41
3.3.2 检查常量或变量是否定义函数 42
3.3.3 取消变量定义unset()函数 44
3.3.4 检查变量是否为“空” 45
3.3.5 数据类型检查函数 48
3.4 PHP运算符 49
3.4.1 算术运算符 49
3.4.2 递增/递减运算符 49
3.4.3 赋值运算符 50
3.4.4 比较运算符 51
3.4.5 逻辑运算符 51
3.4.6 字符串连接运算符 52
3.4.7 错误抑制运算符 53
3.4.8 条件运算符 53
3.4.9 类型运算符 54
3.4.10 执行运算符 54
3.4.11 位运算符 54
3.4.12 运算符优先级 55
3.5 数据类型的转换 55
3.5.1 类型自动转换 56
3.5.2 类型强制转换 58
习题 60
第4章 PHP流程控制语句 65
4.1 条件控制结构 65
4.1.1 if语句 65
4.1.2 if…else语句 66
4.1.3 switch语句 68
4.2 循环结构 70
4.2.1 while循环语句 70
4.2.2 do…while循环语句 70
4.2.3 for循环语句 71
4.2.4 循环结构应用 72
4.3 程序跳转和终止语句 73
4.3.1 continue语句 73
4.3.2 break语句 74
4.3.3 终止PHP程序运行 74
习题 75
第5章 PHP数组 77
5.1 数组的基本概念 77
5.1.1 为什么引入数组 77
5.1.2 数组的分类 78
5.2 一维数组的创建 78
5.2.1 直接将变量声明为数组元素 78
5.2.2 使用array()语言结构创建数组 80
5.2.3 创建数组的注意事项 80
5.2.4 数组元素“值”的访问 81
5.3 二维数组 83
5.3.1 二维数组的创建 84
5.3.2 二维数组元素“值”的访问 85
5.4 数组处理函数及应用 86
5.4.1 快速创建数组的函数 86
5.4.2 数组统计函数 88
5.4.3 数组指针函数 91
5.4.4 数组和变量间的转换函数 96
5.4.5 数组遍历语言结构 98
5.4.6 数组检索函数 101
5.4.7 数组排序函数 103
5.4.8 数组与数据结构 106
5.4.9 数组集合运算函数 107
习题 109
第6章 PHP的数据采集 113
6.1 浏览器端数据的提交方式 113
6.1.1 GET提交方式 113
6.1.2 POST提交方式 115
6.1.3 GET和POST混合提交方式 116
6.1.4 两种提交方式的比较 116
6.2 相对路径和路径 117
6.2.1 路径 117
6.2.2 相对路径 117
6.2.3 相对路径其他概念 118
6.3 使用FORM表单实现浏览器端的
数据采集 118
6.3.1 表单标签<form></form> 119
6.3.2 表单控件 119
6.3.3 在表单控件中使用数组 123
6.3.4 表单按钮 123
6.3.5 FORM表单综合应用 125
6.4 使用$_GET和$_POST“采集”
表单数据 127
6.5 上传文件的“数据采集” 128
6.5.1 与上传相关的配置 128
6.5.2 PHP文件上传流程 129
6.5.3 预定义变量$_FILES 131
6.5.4 PHP文件上传的实现 131
6.6 Web服务器端其他数据采集方法 133
6.6.1 预定义变量$_REQUEST 133
6.6.2 预定义变量$_SERVER 134
习题 135
第7章 自定义函数 137
7.1 PHP文件间的引用 137
7.1.1 include语言结构 137
7.1.2 require与include语言结构的
比较 138
7.1.3 include_once和require_once
语言结构 139
7.2 函数概述 140
7.2.1 函数的概念 140
7.2.2 函数的分类 140
7.3 自定义函数 140
7.3.1 自定义函数的定义 141
7.3.2 自定义函数的声明和调用 143
7.3.3 自定义函数的参数赋值 143
7.3.4 变量的作用域和global关键字 147
7.3.5 变量的生存周期和static关键字 149
7.3.6 变量函数 152
7.4 自定义函数综合示例 153
7.5 return语言结构 154
习题 156
第8章 MySQL数据库 160
8.1 数据库概述 160
8.1.1 数据库 160
8.1.2 关系数据库管理系统
(RDBMS) 161
8.1.3 结构化查询语言(SQL) 161
8.2 数据库规范化设计 161
8.2.1 E-R模型 162
8.2.2 主键(Primary Key) 164
8.2.3 实体间的关系与外键(Foreign
Key) 165
8.2.4 约束(Constraint) 166
8.3 MySQL简介 167
8.3.1 MySQL服务的启动 167
8.3.2 MySQL客户机 167
8.3.3 连接MySQL服务器 169
8.3.4 MyISAM和InnoDB存储引擎 170
8.4 字符集 172
8.4.1 字符集与字符序 173
8.4.2 MySQL字符集与字符序 173
8.4.3 MySQL的字符集转换过程 175
8.4.4 设置MySQL字符集 176
8.4.5 SQL脚本文件 176
8.5 MySQL数据库管理 177
8.5.1 创建数据库 177
8.5.2 选择当前操作的数据库 177
8.5.3 显示数据库结构 178
8.5.4 删除数据库 178
8.6 数据库表的管理 178
8.6.1 数据类型 178
8.6.2 MySQL中的附加属性 179
8.6.3 创建数据库表 180
8.6.4 显示数据库表结构 182
8.6.5 删除数据库表结构 183
8.7 表记录的更新操作 183
8.7.1 表记录的添加 183
8.7.2 表记录的修改 185
8.7.3 表记录的删除 186
8.8 表记录的查询操作 186
8.8.1 指定字段列表及列别名 187
8.8.2 使用谓词限制记录的行数 187
8.8.3 使用from子句指定多个数据源 188
8.8.4 使用where子句过滤记录 191
8.8.5 使用order by子句对记录排序 193
8.8.6 使用聚合函数返回汇总值 194
8.8.7 使用group by子句对记录分组
统计 194
8.8.8 使用having子句提取符合条件
的分组 194
8.9 MySQL特殊字符序列 195
习题 196
第9章 PHP与MySQL数据库 200
9.1 PHP中常用的MySQL操作函数 200
9.1.1 连接MySQL服务器 200
9.1.2 设置数据库字符集 201
9.1.3 关闭MySQL服务器连接 201
9.1.4 选择当前操作的数据库 201
9.1.5 发送SQL语句或MySQL命令 202
9.1.6 遍历结果集中的数据 204
9.1.7 MySQL服务器连接与关闭**佳
时机 206
9.1.8 MySQL服务器连接与关闭函数的
制作 207
9.2 PHP中其他MySQL操作函数 207
9.2.1 数据库表操作函数 207
9.2.2 选择当前操作的数据库并发送
SQL语句 208
9.2.3 表字段操作函数 209
9.2.4 其他常用函数 210
9.3 用户注册系统的实现 212
9.3.1 用户注册系统文件组织结构 212
9.3.2 用户注册界面的实现 212
9.3.3 数据库的实现 214
9.3.4 制作用户注册系统所需的函数 214
9.3.5 用户注册功能的实现 214
9.3.6 用户登录页面的实现 217
9.3.7 用户登录功能的简单实现 217
9.3.8 功能测试 218
9.4 SQL注入 219
习题 220
第 10章 新闻发布系统的开发 222
10.1 新闻发布系统的开发流程 222
10.1.1 MIS的开发流程 222
10.1.2 新闻发布系统的开发流程 222
10.2 新闻发布系统的系统规划 222
10.2.1 新闻发布系统的目标 223
10.2.2 新闻发布系统的可行性分析 223
10.2.3 新闻发布系统的项目进度表 223
10.2.4 新闻发布系统的人员分工 223
10.3 新闻发布系统的系统分析 223
10.3.1 新闻发布系统的功能需求 224
10.3.2 新闻发布系统的技术需求 225
10.3.3 新闻发布系统中使用的模型 226
10.3.4 新闻发布系统的E-R模型 226
10.3.5 新闻发布系统的数据流程图 227
10.3.6 数据字典(Data Dictionary) 230
10.4 新闻发布系统的系统设计 231
10.4.1 系统流程图 231
10.4.2 程序流程图 232
10.4.3 数据库规范化设计 233
10.4.4 图形用户界面设计 233
10.5 新闻发布系统系统实施 234
10.5.1 文件组织结构 234
10.5.2 数据库的实施 235
10.5.3 新闻管理和评论管理功能的
实施 235
10.6 分页原理及实现 246
10.6.1 分页原理 246
10.6.2 PHP分页的**简单实现 247
10.6.3 带有“分页导航条”分页的
实现 247
10.6.4 显示分页导航条的函数制作 249
10.7 新闻发布系统的软件测试 251
10.8 新闻发布系统的系统支持 251
习题 252
第 11章 PHP会话控制 253
11.1 HTTP无状态特性 253
11.1.1 HTTP通信机制 253
11.1.2 HTTP无状态与TCP长连接
之间的关系 255
11.1.3 HTTP请求信息 255
11.1.4 HTTP响应信息 257
11.2 页面间的参数传递 258
11.2.1 利用重定向实现参数传递 259
11.2.2 使用JavaScript实现重定向 260
11.2.3 使用PHP实现重定向 260
11.3 Cookie会话技术 261
11.3.1 浏览器的Cookie设置 261
11.3.2 Cookie的工作原理 261
11.3.3 Cookie的内容 262
11.3.4 Cookie分类及典型应用 263
11.3.5 使用Cookie的步骤 264
11.3.6 创建Cookie 265
11.3.7 预定义变量$_COOKIE 266
11.3.8 删除浏览器端的Cookie 268
11.3.9 新闻发布系统用户管理功能的
实现(一) 268
11.3.10 Cookie数组的使用 271
11.3.11 使用Cookie的其他注意事项 272
11.4 Session会话技术 273
11.4.1 Session的工作原理 273
11.4.2 使用Session的步骤 274
11.4.3 php.ini有关Session的配置 276
11.4.4 开启Session 276
11.4.5 预定义变量$_SESSION 277
11.4.6 删除和销毁Session 278
11.4.7 Session的综合应用 278
11.4.8 Session ID、Session name和SID 280
11.4.9 禁用Cookie后Session的实现 283
11.4.10 Session和Cookie的对比 284
11.4.11 新闻发布系统用户管理功能的
实现(二) 285
11.4.12 新闻发布系统权限控制的实现 288
11.4.13 使用Session数组模拟购物车
功能 290
11.5 header()函数的使用 291
11.5.1 页面重定向 292
11.5.2 创建Cookie 293
11.5.3 服务器响应内容的控制 293
11.5.4 完善新闻发布系统文件下载功能 297
11.5.5 浏览器缓存的远程控制 299
11.5.6 常用的浏览器缓存控制函数 303
习题 305
第 12章 字符串处理 307
12.1 字符串的指定方法 307
12.1.1 使用单引号指定字符串 307
12.1.2 使用双引号指定字符串 307
12.1.3 使用定界符指定字符串 309
12.1.4 字符串中的字符处理 310
12.2 字符串处理函数 310
12.2.1 字符串修剪函数 310
12.2.2 字符串长度函数 320
12.2.3 子字符串操作函数 322
12.2.4 字符串比较函数 326
12.2.5 字符串连接和分割函数 327
12.2.6 字符串替换函数 328
12.2.7 URL处理函数 329
12.2.8 其他常用的字符串函数 334
12.3 新闻发布系统中的字符串处理函数
的应用 335
12.3.1 删除模糊查询中关键字两边的
空格 336
12.3.2 修改文件下载功能的代码 336
12.3.3 修改发表评论功能的代码 336
12.3.4 优化新闻列表显示功能的代码 337
12.3.5 模糊查询时关键字以加粗倾斜
格式显示 337
12.3.6 优化分页函数代码 338
习题 339
第 13章 新闻发布系统的页面
美工 343
13.1 JavaScript脚本语言 343
13.2 FCKeditor在线编辑器 344
13.2.1 FCKeditor使用前的准备工作 344
13.2.2 FCKeditor类的成员变量和成员
方法 345
13.2.3 FCKeditor的高配 345
13.2.4 FCKeditor在新闻发布系统中的
应用 347
13.2.5 FCKeditor的文件管理 349
13.2.6 FCKeditor瘦身 351
13.3 新闻发布系统页面布局的实现 351
13.3.1 DIV+CSS概述 352
13.3.2 界面布局图 352
13.3.3 使用DIV实现页面布局 353
13.3.4 准备图片素材 354
13.3.5 CSS热身 354
13.3.6 header层的实现 357
13.3.7 pagebody层的实现 360
13.3.8 footer层的实现 360
13.4 新闻发布系统静态和动态页面的
嵌入 361
13.4.1 将用户管理功能嵌入到login层 361
13.4.2 修改menu层代码 361
13.4.3 将主要功能嵌入到
 mainfunction层 363
13.4.4 sidebar层和mainbody层的高度
 自适应功能 367
13.4.5 防止图片太宽撑破mainbody层 369
习题 369
参考文献 370

读者评论

  • 麻烦把新闻发布系统源码发一下,自己写的最后登录不了
    1219618027@qq.com

    michaelwang66发表于 2018/6/7 20:11:12
  • 可以麻烦老师发一份课后习题答案给我吗 我是学生 老师课后的题基本不讲 我不知道自己做的是对还是错 我的邮箱:w420401275@sina.com

    w420401275发表于 2018/5/4 10:29:19
  • 麻烦老师把 源代码里的news那个,也就是新闻发布系统代码,全部发给我 。我的 邮箱是 525987583@qq.com     谢谢 

    高慧发表于 2018/4/23 9:50:46
    • 您好,源代码资源需要整体下载,部分发送给您可能会造成无法打开或者损坏。已将全部资源发送给您。

      人邮教育专员发表于 2018/4/23 10:15:27
  • 源代码里的news那个,也就是新闻发布系统代码不全,关于分类查询记录以及注册等等功能没有实现。

    典韦1234发表于 2017/12/25 19:03:52
    • 读者您好,我是本书作者。用户注册功能的实现,您可参考教材第9章代码。新闻类别查询功能源代码没有提供给读者,原因是:篇幅所限,教材尽量避免知识内容重复,该功能代码几乎和第10章新闻查询功能的代码一致。如若个别读者确实需要该功能的源代码,可以留下联系方式,转发于您。

      fallsoft发表于 2017/12/26 9:57:30
  • 配套实验题目有吗?

    付淑琴发表于 2017/8/22 11:14:04
    • 我是本书作者,本书配套的电子资源较为丰富,其中教学大纲配套有实验题目。

      fallsoft发表于 2017/8/24 17:29:27

我要评论

作者介绍

孔祥盛,长期从事网络数据库技术、网页设计与制作、PHP教学与培训等工作,具有丰富的教学与研究开发经验,积累了大量的开发案例。编写的PHP教材语言通俗易懂,言简意赅,用极其短小精干的案例讲述技术知识,受到广大初学者的推崇。

同系列书

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部