PHP编程新手自学手册.pdf (PHP编程新手自学手册.pdf) (z-library.sk, 1lib.sk, z-lib.sk)
Author: tanzhanjun
PHP
No Description
📄 File Format:
PDF
💾 File Size:
24.3 MB
9
Views
0
Downloads
0.00
Total Donations
📄 Text Preview (First 20 pages)
ℹ️
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
📄 Page
1
(This page has no text content)
📄 Page
2
新手学编程 ABC 丛书 PHP 编程新手自学手册 谭贞军 等编著 机 械 工 业 出 版 社
📄 Page
3
PHP 是当今使用最广的 Web 编程语言之一,在项目开发领域占据重要 的地位。本书循序渐进、由浅入深地讲解了 PHP 开发的核心技术,并通过具 体实例的实现过程,演练了各个知识点的具体使用流程。全书分为 4 篇,共 23 章。其中 1~7 章是基础篇,讲解了 PHP 入门、开发必备知识、语法基 础、流程控制、函数、数组、处理网页等知识;第 8~16 章是提高篇,讲解 了操作字符串、文件操作、图像处理、PHP 面向对象、会话管理、正则表达 式、错误调试、操作 XML Ajax 技术等知识;第 17~20 章是数据库篇,讲解 了 MySQL 数据库、PHP 与 MySQL 的编程、PHP 对其他数据库操作、模板 技术等知识;第 21~23 章是实例篇,分别通过图片管理系统、在线投票系 统、在线留言系统项目的实现过程,讲解了 PHP 在日常项目开发中的综合应 用流程。全书以日记为主线,以“一问一答”引出问题,并穿插了学习技巧 和职场生存法则,引领读者全面掌握 PHP 语言。 本书不但适用于 PHP 初学者,也适用于有一定 PHP 编程基础的读者, 还可供有一定造诣的程序员参考。 图书在版编目(CIP)数据 PHP 编程新手自学手册/谭贞军等编著.—北京:机械工业出版社,2012.8 (新手学编程 ABC 丛书) ISBN 978-7-111-39239-2 Ⅰ.①P… Ⅱ.①谭… Ⅲ.①PHP 语言―程序设计 Ⅳ.①TP312 中国版本图书馆 CIP 数据核字(2012)第 178337 号 机械工业出版社(北京市百万庄大街 22 号 邮政编码 100037) 策划编辑:丁 诚 杨 硕 责任编辑:杨 硕 责任印制:杨 曦 保定市中画美凯印刷有限公司印刷 2012 年 9 月第 1 版·第 1 次印刷 184mm×260mm·35.25 印张·874 千字 0001―3500 册 标准书号:ISBN 978-7-111-39239-2 ISBN 978-7-89433-654-5(光盘) 定价:89.00 元(含 1DVD) 凡购本书,如有缺页、倒页、脱页,由本社发行部调换 电话服务 网络服务 社服务中心:(010)88361066 教 材 网:http://www.cmpedu.com 销 售 一 部:(010)68326294 机工官网:http://www.cmpbook.com 销 售 二 部:(010)88379649 机工官博:http://weibo.com/cmp1952 读者购书热线:(010)88379203 封面无防伪标均为盗版
📄 Page
4
丛书序 III 丛 书 序 从《杜拉拉升职记》谈起 近年来,职场小说备受青睐,李可老师的《杜拉拉升职记》更是受到广大读者的喜爱, 还被搬上了银幕。对许多人来说,职场生涯占据了整个人生的很大一部分时间,怎样才能在 职场中如鱼得水,是人们必须认真思考的重要问题。即将走上程序员岗位的读者朋友们,请 自问是否已经对未来的职场生涯胸有成竹? 本丛书不但可以帮助初学者提前演练职场生活,而且对在职人员也有借鉴意义。技术方 面的知识就不用再多说了,每一页所包含的内容都是作者多年来的技术结晶。阅读本丛书 后,希望读者们不但能学到编程技术,而且能够提前体验到职场中的一些常见场景,为将来 的职场生涯做一些准备。希望本书能为读者们解惑,也希望能激励读者们在这个行业继续奋 斗下去,迎接大家的将是明媚的阳光。 程序员的各个阶段 按照掌握技术的熟练程度来划分程序员的不同阶段,可以大体分为 5 个阶段。 1)初学者:处在此阶段的可能是一名在校学生,可能是应届毕业生,也可能是准备从 其他行业向编程行业转行的人员。其共同特点是刚开始学习编程知识,对每一个知识点都充 满了好奇,对未来充满期望。 2)菜鸟:这里的菜鸟可能是技术菜鸟,也可能是职场菜鸟。特点是某项技术的基本知 识已经学习完毕,但是没有经过项目的洗礼,尚需要实战演练来磨练。这个阶段一般指处于 试用期或者刚刚从事程序员工作的人员。 3)初级程序员:对项目开发的基本流程有了初步的认识,并通过工作实战演练了自己 的技术。此阶段处于进一步与同事、上级、下级和客户交流的摸索阶段,也是逐渐融入职场 的一个阶段。 4)高级程序员:开发经验丰富,技术扎实,对同事关系、上下级关系和客户关系已经 如鱼得水,也是事业发展的瓶颈阶段。此阶段的程序员在职场中一般是软件高级工程师。 5)资深程序员:技术实力和人脉关系俱佳,一个项目任务能如探囊取物般轻松完成。 但是也对自己的未来充满思索,想寻求待遇更好的职位,会考虑跳槽,也会考虑创业。为了 表述得更加直观,下面通过一幅图来展示程序员的成长历程。 本丛书书目 根据综合考虑分析,本丛书首批书目如下。 C 语言编程新手自学手册 C#编程新手自学手册 Visual C++编程新手自学手册 Java Web 编程新手自学手册 Java 编程新手自学手册 PHP 编程新手自学手册 编程算法新手自学手册
📄 Page
5
PHP 编程新手自学手册 IV 技术菜鸟或职场 菜鸟。特点是某 项技术的基本知 识 已 经 学 习 完 毕,但是没有经 过项目的洗礼, 尚需要实战演练 来磨练。 处在此阶段的可能是一名在校 学生,可能是应届毕业生,也 可能是准备从其他行业向编程 行业转行的人员。其共同特点 是刚开始学习编程知识,对每 一个知识点都充满了好奇,对 未来充满期望。 对项目开发的基本流程有了自己的认 识,并通过工作实战演练了初步的技 术。此阶段处于进一步与同事、上 级、下级和客户交流的摸索阶段,也 是融入职场的一个阶段。 开发经验丰富,技术扎实,对同事关 系、上下级关系和客户关系已经如鱼 得水,但也是事业进一步发展的瓶颈 阶段。 技术实力和人脉关系俱佳,一个项目 任务能如探囊取物般轻松完成。对自 己的未来充满思索,想寻求待遇更好 的职位。会考虑跳槽,也会考虑创 业。
📄 Page
6
丛书序 V 致读者 学习程序开发之路是充满挑战之路,也是充满乐趣之路,这条路没有捷径可走。梦想像 《天龙八部》中虚竹那样轻松获得一甲子功力,是不现实的。读者们要想真正学好编程,需 要付出辛苦的汗水。根据笔者的亲身体会,替读者总结出 3 条学习编程的建议。 (1)培养兴趣 无论做什么事情,只要有了兴趣,就喜欢花费时间去做它。只要喜欢感受那调试成功的 喜悦,就说明已经对编程产生了兴趣。这种喜悦会使自己更加喜欢编程,会带来成就感。闲 暇时刻建议多去专业编程论坛逛一逛,灌灌水。论坛里的朋友们不但能帮助自己解决问题, 而且还能带来其他非技术性的收获。 (2)脚踏实地 欲速则不达,学编程切忌有浮躁的心态。很多初学者刚学会了基本语法知识,调试成功 了几段代码,就迫不及待大声宣布:“我精通 PHP 了”。但是当遇到问题之后才发现,自己 学到的只是九牛一毛。常说“书山有路勤为径,学海无涯苦作舟”,是很有道理的。 (3)多实践 程序开发很强调实践动手能力,所以实践就变得尤为重要。有前辈高人认为,学习编程 的秘诀是“编程、编程、再编程,练习,练习,再练习”,笔者深表赞同。学编程不仅要多 实践,而且要快实践。在看书的时候,不要等到完全理解了才动手,而是应该在看书的同时 敲代码,程序运行的各种情况可以让自己更快、更牢固地掌握知识点。 我们的服务邮箱是 150649826@qq.com,读者在阅读本丛书时,如果发现错误或遇到问 题,可以发送电子邮件及时与我们联系,我们会尽快给予答复。 丛书编委会
📄 Page
7
PHP 编程新手自学手册 VI 前 言 PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速地执行动态网页。与其他的编程语言相比,用 PHP 做出的动态页面是将程序嵌入 到 HTML 文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执 行编译后的代码,编译可以达到加密和优化代码运行的效果,使代码运行更快。PHP 具有非 常强大的功能,所有的 CGI 的功能 PHP 都能实现,而且几乎支持所有流行的数据库以及操 作系统。 现在 PHP 已经是全球最普及、应用最广泛的互联网开发语言之一。PHP 语言具有简 单、易学、源码开放,可操纵多种主流与非主流的数据库,支持面向对象的编程,支持多 种开源框架,支持跨平台的操作,而且完全免费等特点,越来越受到广大程序员的青睐。 本书的最大特色是以日记为主线,用一问一答的模式引出知识点。本书讲解了一名大学 生从学习编程开始,到顺利毕业并进入职场的成长历程,既讲授编程技术,也传授了职场经 验。 本书作者遵循了理论加实践的写作模式,在每个知识点讲解完毕之后,都会用一个具体 实例来演练知识点的用法。所有实例都是具有代表性的。 在配套光盘中不但有书中实例的源代码,而且有全程视频讲解的 PPT 电子教案。此光 盘中还向读者提供了多个典型应用案例,并且为书中的项目案例都配备了详细的视频讲解。 参与本书编写的人员有:谭贞军,陈强,周秀,张兴建,王梦,管西京,张子言,朱万 林,王孟,李强,陈德春,周涛,刘海洋,关立勋,孟娜,王石磊,徐亮,张储,蒋凯,扶 松柏,唐凯,焦甜甜,张斌,杨国华,杨絮,张玲玲。 在编写本书的过程中,我们始终本着科学、严谨的态度,力求精益求精,但错误、疏漏 之处在所难免,敬请广大读者批评指正。 编 者
📄 Page
8
目 录 VII 目 录 丛书序 前言 第一篇 基础篇 第 1 章 PHP 入门 ························································································································ 1 1.1 认识 PHP 页面 ··············································································································· 2 1.2 PHP 介绍 ························································································································ 3 1.2.1 PHP 的发展 ·············································································································· 3 1.2.2 PHP 的功能特点 ······································································································· 4 1.2.3 我国使用 PHP 开发的网站 ························································································· 4 1.3 搭建开发环境 ················································································································ 5 1.3.1 Apache 的下载、安装和配置 ····················································································· 6 1.3.2 PHP 的下载、安装和配置 ························································································· 9 1.3.3 安装 MySQL ·········································································································· 11 1.3.4 安装 phpMyAdmin ·································································································· 15 1.4 学习 PHP 应具备的知识 ····························································································· 16 1.4.1 HTML 基础知识 ····································································································· 16 1.4.2 CSS 基础知识 ········································································································ 16 1.4.3 JavaScript 基础知识 ································································································ 16 1.5 快速搭建 PHP 运行环境 ····························································································· 16 1.5.1 PHPnow 的安装 ······································································································ 17 1.5.2 XAMPP 的安装 ······································································································ 18 1.6 一个简单的 PHP 程序 ································································································· 20 1.7 疑难问题解析 ·············································································································· 21 职场点拨——看 PHP 的重要性 ·························································································· 22 第 2 章 PHP 开发必备知识 ······································································································ 23 2.1 认识一个表单 ·············································································································· 23 2.2 HTML 基础 ·················································································································· 24 2.3 文字的设置 ·················································································································· 25 2.3.1 标题格式 ··············································································································· 25 2.3.2 将文字加粗、倾斜和加底线 ···················································································· 27 2.3.3 设定文字的大小、颜色、字形 ················································································· 28 2.3.4 在文字中插入空格和分段 ························································································ 29 2.4 标示标记的使用 ·········································································································· 30
📄 Page
9
PHP 编程新手自学手册 VIII 2.5 表单 ······························································································································ 32 2.5.1 表单容器<form> ····································································································· 32 2.5.2 单行文本框 ············································································································ 33 2.5.3 单选按钮 ··············································································································· 34 2.5.4 多行文本框和按钮 ·································································································· 35 2.6 使用 Dreamweaver 创建 CSS 样式 ············································································· 36 2.6.1 创建 CSS 样式 ········································································································ 36 2.6.2 应用 CSS 样式 ········································································································ 38 2.7 使用 JavaScript ············································································································· 40 2.7.1 如何创建简单的 JavaScript ······················································································ 40 2.7.2 常用的 JavaScript 模块 ···························································································· 41 2.8 疑难问题解析 ·············································································································· 48 职场点拨——怎样学编程 ···································································································· 48 第 3 章 PHP 语法基础 ·············································································································· 50 3.1 认识一段 PHP 代码 ····································································································· 50 3.2 PHP 的语法结构 ·········································································································· 52 3.2.1 PHP 文件构成 ········································································································ 52 3.2.2 PHP 的标记 ············································································································ 53 3.3 PHP 的页面注释 ·········································································································· 55 3.4 PHP 的变量 ·················································································································· 56 3.4.1 变量的定义 ············································································································ 56 3.4.2 变量赋值与引用赋值 ······························································································ 57 3.4.3 变量范围 ··············································································································· 57 3.4.4 可变变量 ··············································································································· 59 3.5 PHP 的常量 ·················································································································· 60 3.6 数据类型 ······················································································································ 61 3.6.1 简单类型 ··············································································································· 61 3.6.2 复合类型 ··············································································································· 65 3.6.3 特殊类型 ··············································································································· 65 3.7 运算符 ·························································································································· 65 3.7.1 算术运算符 ············································································································ 65 3.7.2 赋值运算符 ············································································································ 67 3.7.3 自增自减运算符 ····································································································· 67 3.7.4 位运算符 ··············································································································· 69 3.7.5 逻辑运算符 ············································································································ 69 3.7.6 字符串运算符········································································································· 70 3.7.7 运算符的优先级别 ·································································································· 71 3.8 表达式 ·························································································································· 72 3.9 疑难问题解析 ·············································································································· 73
📄 Page
10
目 录 IX 职场点拨——面试经验谈 ···································································································· 74 第 4 章 流程控制 ······················································································································· 76 4.1 认识一段语句 ·············································································································· 77 4.2 条件语句 ······················································································································ 77 4.2.1 if 条件语句 ············································································································ 78 4.2.2 if…else 语句··········································································································· 78 4.2.3 多个 else 关键字 ····································································································· 79 4.2.4 switch 语句 ············································································································ 80 4.3 循环语句 ······················································································································ 81 4.3.1 while 语句 ·············································································································· 81 4.3.2 do…while 语句 ······································································································· 83 4.3.3 for 语句 ················································································································· 84 4.3.4 for 循环的嵌套语句 ································································································ 86 4.3.5 各个循环语句的区别 ······························································································ 87 4.4 跳转语句 ······················································································································ 88 4.4.1 break 语句 ·············································································································· 88 4.4.2 continue 语句 ·········································································································· 89 4.4.3 return 跳转语句 ······································································································ 90 4.5 疑难问题解析 ·············································································································· 92 职场点拨——谈职业规划 ···································································································· 92 第 5 章 函数 ······························································································································· 94 5.1 认识函数 ······················································································································ 94 5.2 什么是函数 ·················································································································· 95 5.2.1 有条件的函数········································································································· 95 5.2.2 函数中的函数········································································································· 96 5.3 自定义函数 ·················································································································· 96 5.4 函数间传递参数 ·········································································································· 98 5.4.1 通过引用传递参数 ·································································································· 98 5.4.2 按照默认值传递参数 ······························································································ 98 5.4.3 使用非标量类型作为默认参数 ················································································· 99 5.4.4 函数返回值 ·········································································································· 100 5.5 文件包含 ···················································································································· 101 5.5.1 require 包含文件 ··································································································· 101 5.5.2 include 包含文件 ··································································································· 102 5.5.3 require 和 include 的区别 ······················································································· 103 5.6 数学函数 ···················································································································· 104 5.6.1 数的基本运算······································································································· 104 5.6.2 角度的运算 ·········································································································· 105 5.7 变量处理函数 ············································································································ 105
📄 Page
11
PHP 编程新手自学手册 X 5.8 日期和时间函数 ········································································································ 106 5.9 使用 PHP 函数手册 ··································································································· 107 5.9.1 获得 PHP 函数手册 ······························································································· 107 5.9.2 使用 PHP 函数手册 ······························································································· 110 5.10 疑难问题解析 ·········································································································· 112 职场点拨——谈模块化设计思想 ······················································································ 113 第 6 章 数组 ····························································································································· 115 6.1 认识数组 ···················································································································· 115 6.2 声明数组 ···················································································································· 117 6.2.1 声明一维数组······································································································· 117 6.2.2 数组的定位 ·········································································································· 118 6.2.3 二维数组 ············································································································· 121 6.3 对数组进行简单的操作 ····························································································· 121 6.3.1 去掉数组重复的元素 ···························································································· 121 6.3.2 删除数组中的元素或删除整个数组 ········································································ 122 6.3.3 遍历数组元素······································································································· 123 6.3.4 向数组中添加数据 ································································································ 125 6.3.5 改变数组的大小 ··································································································· 126 6.3.6 合并两个数组······································································································· 129 6.3.7 反转一个数组······································································································· 130 6.4 其他数组函数 ············································································································ 131 6.4.1 对数组所有的元素求和 ························································································· 131 6.4.2 将一维数组拆分成多维数组 ·················································································· 132 6.4.3 对数组元素进行随机排序 ······················································································ 132 6.5 疑难问题解析 ············································································································ 133 职场点拨——程序员必须具备与客户沟通的技巧 ·························································· 134 第 7 章 PHP 表单处理网页 ···································································································· 135 7.1 认识表单 ···················································································································· 135 7.2 表单数据的提交方式 ································································································· 139 7.2.1 GET 方法 ············································································································· 139 7.2.2 POST 方法 ··········································································································· 141 7.3 获取表单元素的数据 ································································································· 142 7.3.1 获取按钮的数据 ··································································································· 143 7.3.2 获取文本框的数据 ································································································ 144 7.3.3 获取单选按钮的数据 ···························································································· 144 7.3.4 获取复选框的数据 ································································································ 145 7.3.5 获取列表框的数据 ································································································ 146 7.3.6 获取隐藏字段的值 ································································································ 149 7.4 对表单传递的变量值进行编码与解码 ····································································· 150
📄 Page
12
目 录 XI 7.5 疑难问题解析 ············································································································ 151 职场点拨——如何成为一名优秀的程序员 ······································································ 151 温故而知新——第一篇实战范例 ······························································································ 153 范例 1 搭建 PHP 的运行环境 ························································································· 153 范例 2 HTML 的标签 ······································································································ 153 范例 3 运算 ······················································································································ 157 范例 4 流程控制语句 ······································································································ 158 第二篇 提高篇 第 8 章 操作字符串 ················································································································· 160 8.1 认识字符串 ················································································································ 161 8.2 将特殊字符去掉 ········································································································ 161 8.2.1 去除多余字符······································································································· 162 8.2.2 格式化字符串······································································································· 163 8.3 单引号和双引号 ········································································································ 164 8.4 字母大小写互相转换 ································································································· 165 8.4.1 将字符串转换成小写 ···························································································· 165 8.4.2 将字符串转换成大写 ···························································································· 166 8.4.3 将字符转换成大写 ································································································ 167 8.4.4 将字符每个单词的首字母转换成大写 ····································································· 168 8.5 获取字符串长度 ········································································································ 168 8.6 查找和替换字符串 ····································································································· 170 8.6.1 查找字符串 ·········································································································· 170 8.6.2 定位字符串 ·········································································································· 173 8.6.3 字符串替换 ·········································································································· 175 8.7 ASCII 编码与字符串 ································································································· 178 8.7.1 chr()函数 ············································································································· 178 8.7.2 ord()函数 ············································································································· 179 8.8 分解字符串 ················································································································ 180 8.9 加入和去除转义字符“\” ························································································ 181 8.10 疑难问题解析 ·········································································································· 182 职场点拨——和上级的沟通之道 ······················································································ 182 第 9 章 文件操作 ····················································································································· 184 9.1 看一段代码 ················································································································ 185 9.2 文件访问 ···················································································································· 186 9.2.1 判断文件或者目录是否存在 ·················································································· 186 9.2.2 打开文件 ············································································································· 187 9.2.3 关闭文件 ············································································································· 188 9.3 读/写文件 ··················································································································· 189
📄 Page
13
PHP 编程新手自学手册 XII 9.3.1 写入数据 ············································································································· 189 9.3.2 读取数据 ············································································································· 192 9.4 指针 ···························································································································· 197 9.5 目录操作 ···················································································································· 199 9.5.1 打开目录 ············································································································· 199 9.5.2 遍历目录 ············································································································· 200 9.5.3 目录的创建、合法性与删除 ·················································································· 202 9.5.4 其他文件处理函数 ································································································ 205 9.6 疑难问题解析 ············································································································ 206 职场点拨——做一个优秀的团队成员 ·············································································· 207 第 10 章 图像处理 ··················································································································· 208 10.1 一段代码 ·················································································································· 208 10.2 图形图像的简单处理 ······························································································· 209 10.2.1 画布的创建 ········································································································ 209 10.2.2 设置图像的颜色 ································································································· 210 10.2.3 创建图像 ············································································································ 211 10.2.4 绘制几何图形 ····································································································· 212 10.3 几何图形的填充······································································································· 215 10.3.1 进行区域填充 ····································································································· 215 10.3.2 矩形、多边形和椭圆形的填充 ············································································· 217 10.3.3 圆弧的填充 ········································································································ 218 10.4 输出文字 ·················································································································· 221 10.4.1 输出英文 ············································································································ 221 10.4.2 输出中文 ············································································································ 222 10.5 复杂图形的处理······································································································· 223 10.5.1 圆形的重叠 ········································································································ 223 10.5.2 温度计的绘制 ····································································································· 224 10.5.3 绘制销售报表 ····································································································· 226 10.5.4 设置线型 ············································································································ 229 10.6 疑难问题解析 ·········································································································· 230 职场点拨——何处寻兼职 ·································································································· 231 第 11 章 PHP 面向对象 ·········································································································· 232 11.1 看一段代码 ·············································································································· 232 11.2 使用类 ······················································································································ 234 11.2.1 创建一个简单的类 ······························································································ 234 11.2.2 编写类的属性和方法 ··························································································· 234 11.3 构造函数和析构函数 ······························································································· 236 11.4 实例化类 ·················································································································· 237 11.5 类的访问控制 ··········································································································· 237
📄 Page
14
目 录 XIII 11.6 类的基本操作 ··········································································································· 238 11.6.1 类方法的调用 ····································································································· 238 11.6.2 创建一个完整的类 ······························································································ 239 11.7 面向对象的高级编程 ······························································································· 244 11.7.1 类的继承 ············································································································ 244 11.7.2 接口的实现 ········································································································ 246 11.7.3 多态的实现 ········································································································ 247 11.7.4 作用域分辨运算符“::” ······················································································ 247 11.7.5 parent 关键字 ······································································································ 248 11.7.6 final 关键字 ········································································································ 249 11.7.7 static 关键字 ······································································································· 250 11.8 疑难问题解析 ··········································································································· 251 职场点拨——兼职可靠吗? ······························································································ 252 第 12 章 会话管理 ··················································································································· 253 12.1 看一段会话管理代码 ······························································································· 253 12.2 什么是会话控制······································································································· 255 12.2.1 Cookie 概述 ········································································································ 255 12.2.2 会话控制 ············································································································ 255 12.3 简单操作 Cookie ······································································································ 255 12.3.1 Cookie 的设置 ···································································································· 256 12.3.2 删除 Cookie ········································································································ 256 12.3.3 Cookie 数组 ········································································································ 257 12.3.4 header 函数 ········································································································ 258 12.4 会话控制 ·················································································································· 259 12.4.1 会话的基本方式 ································································································· 259 12.4.2 创建会话 ············································································································ 260 12.5 会话的实际应用······································································································· 262 12.5.1 禁止使用页面刷新 ······························································································ 262 12.5.2 验证登录 ············································································································ 264 12.6 疑难问题解析 ·········································································································· 266 职场人生——同事交往经验谈 ·························································································· 267 第 13 章 正则表达式 ··············································································································· 268 13.1 看一段代码 ·············································································································· 268 13.2 正则表达式概述······································································································· 269 13.2.1 什么是正则表达式 ······························································································ 269 13.2.2 正则表达式的专业术语 ······················································································· 270 13.3 正则表达式的组成元素 ··························································································· 270 13.3.1 普通字符 ············································································································ 270 13.3.2 特殊字符 ············································································································ 270
📄 Page
15
PHP 编程新手自学手册 XIV 13.3.3 限定符 ··············································································································· 271 13.4 正则表达式的匹配 ··································································································· 271 13.4.1 搜索字符串 ········································································································ 271 13.4.2 从 URL 取出域名 ································································································ 273 13.5 轻松匹配单个字符 ··································································································· 273 13.6 锚定一个匹配 ·········································································································· 274 13.6.1 插入符“^”的应用 ····························································································· 274 13.6.2 符号“$”的应用 ································································································ 275 13.7 替换匹配 ·················································································································· 276 13.8 处理正则表达式的函数 ··························································································· 276 13.8.1 ereg()函数 ·········································································································· 276 13.8.2 eregi()函数 ········································································································· 277 13.8.3 ereg_replace()函数 ······························································································· 277 13.8.4 split()函数 ·········································································································· 278 13.8.5 eregi_replace()函数和 spliti()函数 ·········································································· 278 13.9 疑难问题解析 ·········································································································· 278 职场点拨——同事之间的互补 ·························································································· 279 第 14 章 错误调试 ··················································································································· 281 14.1 认识错误调试 ·········································································································· 281 14.2 错误类型 ·················································································································· 282 14.2.1 语法错误 ············································································································ 282 14.2.2 运行错误 ············································································································ 286 14.2.3 逻辑错误 ············································································································ 288 14.3 PHP 的开发软件 ······································································································ 288 14.3.1 安装 Zend Studio ································································································· 289 14.3.2 EclipsePHP Studio 2008 ························································································ 294 14.4 疑难问题解析 ·········································································································· 297 职场点拨——程序员保持身心健康的 7 种方式 ······························································ 298 第 15 章 PHP 操作 XML ········································································································· 299 15.1 认识 XML ················································································································ 299 15.2 什么是 XML ············································································································ 300 15.3 一个简单的 XML 文件 ···························································································· 301 15.4 深入认识 XML 文档 ································································································ 301 15.4.1 XML 声明 ·········································································································· 302 15.4.2 XML 标记与元素 ································································································ 303 15.4.3 XML 属性 ·········································································································· 304 15.4.4 XML 注释 ·········································································································· 305 15.4.5 XML 处理指令 ··································································································· 306 15.4.6 XML CDATA 标记 ····························································································· 307
📄 Page
16
目 录 XV 15.5 与 XML 对象相关模型 ···························································································· 308 15.5.1 DTD 文档类型定义 ····························································································· 308 15.5.2 DTD 构建 XML ·································································································· 309 15.5.3 文档对象模型 ····································································································· 310 15.6 PHP 处理 XML ········································································································ 312 15.6.1 打开与关闭 XML ································································································ 312 15.6.2 运用 DOM 读取数据 ··························································································· 313 15.6.3 通过 DOM 操作数据 ··························································································· 314 15.7 疑难问题解析 ·········································································································· 315 职场点拨——保证按时完成任务 ······················································································ 315 第 16 章 Ajax 技术介绍 ·········································································································· 316 16.1 什么是 Ajax ·············································································································· 317 16.1.1 Ajax 适用场合 ···································································································· 317 16.1.2 Ajax 不适用的场合 ····························································································· 318 16.1.3 一个简单的 Ajax 程序 ························································································· 318 16.2 Ajax 的工作原理 ······································································································ 324 16.3 PHP 与 Ajax 的应用································································································· 325 16.3.1 创建 XMLHttpRequest 对象 ·················································································· 325 16.3.2 简单的服务器请求 ······························································································ 326 16.3.3 对 HTML 和 XML 的读取 ···················································································· 327 16.3.4 伪 Ajax 方式 ······································································································· 330 16.4 疑难问题解析 ·········································································································· 332 职场点拨——程序员创业经验谈 ······················································································ 333 温故而知新——第二篇实战范例 ······························································································ 335 范例 1 PHP 对文件的处理 ······························································································ 335 范例 2 PHP 对图形图像的处理 ······················································································ 336 范例 3 PHP 操作 XML ···································································································· 337 范例 4 Ajax 与 PHP ········································································································· 343 第三篇 数据库篇 第 17 章 MySQL 数据库 ········································································································· 346 17.1 认识 MySQL ············································································································ 347 17.2 MySQL 数据库简介 ································································································ 347 17.3 MySQL 的基本操作 ································································································ 348 17.3.1 登录和退出 MySQL 数据库 ················································································· 348 17.3.2 表、字段、记录和键的概念 ················································································· 349 17.3.3 建立和删除数据库 ······························································································ 350 17.3.4 表的建立 ············································································································ 351 17.3.5 查看表的结构 ····································································································· 353
📄 Page
17
PHP 编程新手自学手册 XVI 17.4 对表中记录进行操作 ······························································································· 353 17.4.1 插入数据 ············································································································ 354 17.4.2 更新数据 ············································································································ 355 17.4.3 删除数据 ············································································································ 356 17.4.4 查询数据 ············································································································ 357 17.5 SQL 语句 ·················································································································· 358 17.5.1 对数据库的基础操作 ··························································································· 358 17.5.2 对数据库的高级操作 ··························································································· 361 17.6 使用 phpMyAdmin 对数据库备份和还原 ······························································· 363 17.6.1 对数据库进行备份 ······························································································ 363 17.6.2 对数据库进行还原 ······························································································ 364 17.7 疑难问题解析 ·········································································································· 364 职场点拨——寻找更好的工作 ·························································································· 365 第 18 章 PHP 与 MySQL 的编程 ··························································································· 367 18.1 认识 PHP+MySQL ··································································································· 367 18.2 连接 MySQL 数据库 ······························································································· 368 18.3 简单操作数据库······································································································· 370 18.3.1 选择数据库 ········································································································ 370 18.3.2 简易查询数据库 ································································································· 371 18.3.3 显示查询结果 ····································································································· 372 18.3.4 获取表的全部字段 ······························································································ 373 18.3.5 通过函数 mysql_fetch_array 获取记录 ··································································· 374 18.3.6 通过 mysql_fetch_assoc 获取记录 ·········································································· 374 18.3.7 获取被查询的记录数目 ······················································································· 375 18.4 管理 MySQL 数据库中的数据 ················································································ 377 18.4.1 数据的插入 ········································································································ 377 18.4.2 修改数据库中记录 ······························································································ 378 18.4.3 删除数据库中记录 ······························································································ 379 18.5 疑难问题解析 ·········································································································· 381 职场点拨——处理同事关系 ······························································································ 382 第 19 章 PHP 操作其他数据库 ······························································································ 383 19.1 认识 Access 数据库 ································································································· 383 19.2 新建 Access 数据库 ································································································· 384 19.3 新建 Access 数据库里的表 ······················································································ 387 19.3.1 创建表 ··············································································································· 387 19.3.2 创建表中的记录 ································································································· 390 19.3.3 使用加密方式让 Access 更安全 ············································································ 391 19.4 PHP 访问 Access 数据库 ························································································· 393 19.5 使用 SQL Sever 2000 ······························································································· 393
📄 Page
18
目 录 XVII 19.5.1 创建数据库 ········································································································ 394 19.5.2 创建表 ··············································································································· 396 19.5.3 创建记录 ············································································································ 398 19.5.4 创建存储过程 ····································································································· 399 19.5.5 PHP 连接 SQL Server 数据库 ················································································ 401 19.6 疑难问题解析 ·········································································································· 402 职场点拨——面对失业 ····································································································· 403 第 20 章 模板技术 ··················································································································· 404 20.1 认识 Smarty 模板 ····································································································· 405 20.2 认识 MVC ················································································································ 406 20.2.1 MVC 与模板概念的理解 ······················································································ 406 20.2.2 MVC 的工作方式 ································································································ 406 20.2.3 MVC 能给 PHP 带来什么 ···················································································· 407 20.2.4 使用 MVC 的缺点 ······························································································· 408 20.3 Smarty 模板技术 ······································································································ 408 20.3.1 什么是 Smarty ···································································································· 408 20.3.2 Smarty 有哪些特点 ······························································································ 409 20.3.3 获取 Smarty ········································································································ 409 20.3.4 安装与配置 Smarty ······························································································ 410 20.4 Smarty 的基础知识 ·································································································· 413 20.4.1 什么是 Smarty 的模板文件 ··················································································· 413 20.4.2 注释 ·················································································································· 413 20.4.3 变量 ·················································································································· 414 20.4.4 内置函数 ············································································································ 416 20.5 疑难问题解析 ·········································································································· 421 职场点拨——职场升职的技巧 ·························································································· 421 温故而知新——第三篇实战范例 ······························································································ 423 范例 1 使用 phpMyAdmin 软件创建一个数据库 ··························································· 423 范例 2 使用 phpMyAdmin 备份数据库 ········································································· 427 范例 3 使用 phpMyAdmin 还原数据库 ·········································································· 429 范例 4 PHP 连接 MySQL 语句 ······················································································· 432 范例 5 使用 Access 2007 创建一个数据库 ····································································· 433 范例 6 使用 SQL Sever 2000 创建一个数据库 ······························································· 436 第四篇 实例篇 第 21 章 图片管理系统 ··········································································································· 441 21.1 效果展示 ·················································································································· 441 21.2 网站的架构 ·············································································································· 445 21.3 网站的配置 ·············································································································· 445
📄 Page
19
PHP 编程新手自学手册 XVIII 21.4 网站的皮肤 ·············································································································· 446 21.5 管理图片的功能设计 ······························································································· 450 21.5.1 首页设计 ············································································································ 450 21.5.2 单幅图片的展示 ································································································· 459 21.5.3 后台管理 ············································································································ 472 第 22 章 在线投票系统 ··········································································································· 480 22.1 效果展示 ·················································································································· 480 22.2 购房投票系统模块的实现 ······················································································· 482 22.2.1 系统的布置 ········································································································ 482 22.2.2 投票的首页 ········································································································ 482 22.2.3 投票首页的处理 ································································································· 485 22.3 Flash 投票模块 ········································································································· 488 22.3.1 系统的布置 ········································································································ 489 22.3.2 首页功能 ············································································································ 489 22.3.3 后台处理首页 ····································································································· 490 22.3.4 将数据写入文件 ································································································· 493 22.3.5 对输入的数据进行添加和修改 ············································································· 496 22.3.6 对投票的结果进行处理 ······················································································· 497 22.3.7 对读取数据进行处理 ··························································································· 498 22.4 与数据有关的投票模块 ··························································································· 499 22.4.1 新建数据库 ········································································································ 499 22.4.2 还原数据库 ········································································································ 500 22.4.3 投票模块首页 ····································································································· 501 22.4.4 实现无刷新的功能 ······························································································ 501 22.4.5 对数据库进行处理 ······························································································ 505 第 23 章 在线留言系统 ··········································································································· 507 23.1 效果展示 ·················································································································· 507 23.2 数据库 ······················································································································ 510 23.2.1 设计数据库 ········································································································ 510 23.2.2 设置连接数据库配置 ··························································································· 512 23.3 留言功能的实现······································································································· 512 23.3.1 首页 ·················································································································· 512 23.3.2 首页调进来的几个网页 ······················································································· 515 23.3.3 首页导航菜单的实现 ··························································································· 518 23.3.4 处理留言 ············································································································ 518 23.3.5 后台登录 ············································································································ 524 23.3.6 删除留言 ············································································································ 526 23.3.7 编辑/回复留言 ···································································································· 527
📄 Page
20
目 录 XIX 23.3.8 管理员密码修改 ································································································· 529 23.3.9 对留言本进行设置 ······························································································ 532 23.3.10 对数据库的操作 ································································································ 535 温故而知新——第四篇实战范例 ······························································································ 537 范例 1 让网站统计在线人数 ··························································································· 537 范例 2 文件上传 ·············································································································· 539
The above is a preview of the first 20 pages. Register to read the complete e-book.
Recommended for You
Loading recommended books...
Failed to load, please try again later