收藏 分享(赏)

最新PHP及MySQL进阶教程.docx

上传人:oceanpvg 文档编号:3404447 上传时间:2018-10-24 格式:DOCX 页数:296 大小:2.55MB
下载 相关 举报
最新PHP及MySQL进阶教程.docx_第1页
第1页 / 共296页
最新PHP及MySQL进阶教程.docx_第2页
第2页 / 共296页
最新PHP及MySQL进阶教程.docx_第3页
第3页 / 共296页
最新PHP及MySQL进阶教程.docx_第4页
第4页 / 共296页
最新PHP及MySQL进阶教程.docx_第5页
第5页 / 共296页
点击查看更多>>
资源描述

1、最 新 PHP 及 MySQL 进 阶 教 程荣 钦 科 技 主 笔 室 编著 吴达荣 审校清 华 大 学 出 版 社(京)新登字 158 号内 容 简 介 本书详尽介绍了 PHP、 MySQL 和 Apache 三者的相互关系及其操作方式,并从 Linux 操作系统开始, 一一详述交互式网站的建构组件, 让读者了解在 Linux 操作系统下使用 PHP 和 MySQL 建设 Web 网站 的优 势 。 本 书 循 序 渐 进 地 介 绍 完 整 的 PHP 语 法 , 并 配 合 实 用 范 例 说 明 , 奠 定 读 者 编 写 PHP 程序的功力和基础;详实地介绍 MySQL 的 使 用

2、 方 法 , 从 最 基 本 的 SQL 指 令 到 函 数 使 用 , 使 得 我 们 能 够 轻 而 易 举 地 掌 控 与 操 作 MySQL 数据库。本书还附有大量精彩范例,让读者从实作之中享受学习 PHP 的乐趣。本书适用于学习 Linux 操作系统下的网站建设的初、中级用户,本书也可作为各级培训班的教材。版权所有,翻印必究。 本书封面贴有清华大学出版社激光防伪标签,无标签者不得销售。书 名 : 最 新 PHP 及 MySQL 进阶教程作 者 : 荣 钦 科 技 主 笔 室出 版 者 : 清 华 大 学 出 版 社 ( 北 京 清 华 大 学 学 研 大 厦 , 邮 编 100084

3、) http:/印 刷 者 : 清 华 大 学 印 刷 厂发 行 者 : 新 华 书 店 总 店 北 京 发 行 所 开 本 : 7871092 1/16 印 张 : 18.5 字 数 : 446 千字版 次 : 2001 年 6 月 第 1 版 2001 年 6 月第 1 次印刷书 号 : ISBN 7-900635-66-1印 数 : 0001 5000定 价 : 38.00 元前 言近几年来 Internet 形成了一 股革命性的旋风 , 甚至有人预测未来所有的公司都会走向因 特 网 , 如 果 不 能 善 用 因 特 网 , 那 就 会 消 失 在 这 个 实 体 的 世 界 中 。

4、由 于 这 股 风 潮 , 不 管 是 大 小企业或是个人纷纷成立网站( WEB), 使得对构建网站所需要的操作平台、 网站服务器软件、 网页解释程序及后端数据库软件的需求大增。目前用于构建网站的软件组合以 Microsoft 发展 的 Windows 操作系统居多, 同时搭配本 身 的 服 务 器 管 理 功 能 , 在 这 场 “因 特 网 大 战 ”中 的 确 占 有 举 足 轻 重 的 地 位 。 但 是 , Linux 操 作 系 统 夹 着 开 放 源 代 码 的 优 势 , 及 加 上 Apache 网 站 服 务 器 强 大 的 管 理 功 能 , 也 正 如 火 如 荼 地抢

5、攻这个市场。 所以, 在这种竞争激烈的环境下, PHP 网 页解释程序加上 MySQL 数据库 软 件 也 逐 渐 形 成 一 股 势 力 。 当 然 , 这 样 的 组 合 除 了 可 以 让 您 跨 平 台 的 使 用 , 任 意 架 设 于 Windows 或 Linux 操作系 统上, 再加上这些软件取得容易且免费 (在 Linux 上免费, Windows 上则是 30 天 的 试 用 期 ) , 所 以 它 大 大 减 轻 了 构 建 网 站 的 成 本 。PHP 网页解 释程序及 MySQL 数据库软件都是极容易上手的软件 , 非常适 合学习构建交 互式网站的使用者。如果您以前使

6、用过 ASP 网页解释程序的话,那么学习这样的工具更是 得 心 应 手 不 管 您 是 “新 手 ”或 “老 手 ”, 只 要 跟 着 本 书 学 习 , 都 可 以 使 您 在 最 短 时 间 内 学 会 这 两 种 软 件 , 并 且 构 建 一 个 属 于 您 个 人 的 交 互 式 网 站 。 最 后 , 希 望 本 书 能 提 供 您 轻 松 建 置交互式网站的技能,并一窥因特网的奥妙!荣钦科技主笔室2000.10.26目 录第一章 漫谈 Linux、 PHP 和 MySQL11.1Linux 与 Windows 的世纪之争 11.1.1关于 Linux .11.1.2Linux 的

7、图形操作环境X Window21.1.3 各种 Linux 版 本 的 介 绍 .31.2 网 站 的 构 建 元 素 与 观 念 .41.2.1 HTML 网页文件 51.2.2 VBScript 与 JavaScript 介绍 61.2.3 服 务 器 端 程 序 解 析 及 工 作 环 境 91.2.4 网 站 数 据 库 101.3 认 识 PHP 语 言 、 MySQL 数据库与 Apache 服 务 器 121.3.1 PHP 的特点 121.3.2 精 彩 的 MySQL 数据库 131.3.3 WWW 服务器的霸者Apache 14课后习题 14简答题 14第二章 工作环境的安

8、装与设置 .152.1 Apache、 PHP、 MySQL 的安装与设置 152.1.1 安 装 前 的 准 备 152.1.2 安装 Apache 服 务 器 152.1.3 安装 PHP 核心程序 .162.1.4 安装 MySQL 核心程序及 MySQL 模块 .162.1.5 设 置 系 统 文 件 172.2 程 序 设 计 的 工 作 环 境 .182.2.1 安 装 范 例 程 序 192.2.2 单 机 工 作 平 台 192.2.3 网 络 工 作 平 台 212.2.4 如 何 编 写 PHP 程序 .21课后习题 22简答题 22IV 最新 PHP 及 MySQL 进阶

9、教程第三章 PHP 基本语法 233.1 进 入 PHP 的世界 233.1.1 PHP 程序的写法 243.1.2 数 据 的 输 出 和 输 入 263.2 变 量 、 常 量 与 数 据 类 型 .303.2.1 变 量 与 常 量 313.2.2 PHP 的数据类型 323.3 运算符 .343.3.1 PHP 中的运算符 343.3.2 简 略 表 达 式 383.3.3 运 算 符 的 运 算 优 先 权 403.4 学 习 PHP 的流程控制 413.4.1 条 件 语 句 413.4.2 循 环 语 句 473.5 数 组 与 函 数 523.5.1 数 组 数 据 类 型 5

10、23.5.2 数 组 的 指 针 和 相 关 函 数 553.6 自 定 义 函 数 的 设 计 .573.6.1 函 数 的 定 义 583.6.2 局 部 变 量 与 全 局 变 量 613.6.3 嵌 套 与 递 归 函 数 64课后习题 67简答题 67练习题 68第四章 PHP 进阶概念与函数运用 694.1 面 向 对 象 程 序 设 计 .694.1.1 认 识 类 与 对 象 694.1.2 继 承 与 构 造 函 数 cohstructor .714.2 字 符 串 处 理 函 数 说 明 .754.2.1 常 用 字 符 串 函 数 754.2.2 正 则 表 达 式 82

11、4.3 文 件 处 理 函 数 864.3.1 文 件 的 打 开 与 关 闭 864.3.2 其 他 文 件 系 统 函 数 894.3.3 目 录 函 数 934.4 PHP 其 他 常 用 函 数 .94目 录 V4.4.1 日 期 和 时 间 函 数 954.4.2 网 络 函 数 974.4.3 数 学 函 数 984.5 Cookie 的概念与应用 .1024.5.1 Cookie 的 特 性 和 功 能 .1024.5.2 Cookie 的 存 取 与 使 用 .104课后习题 107简答题 107练习题 107第五章 MySQL 数据库研究 1095.1 “数 据 库 ”是 什

12、 么 ? .1095.1.1 数 据 库 结 构 1095.1.2 结 构 化 查 询 语 言 (SQL)1105.2 字 段 数 据 类 型 .1115.2.1数 值 类 型 (Numeric Types).1115.2.2日 期 时 间 类 型 (Date and Time Types).1125.2.3字 符 串 类 型 (String Types).1145.3 MySQL 存取权限系统 .1155.3.1 MySQL 服务器简述 1155.3.2 MySQL 的 权 限 中 心 mysql 数据库 .1185.3.3 权 限 系 统 原 理 1195.3.4 存 取 被 拒 绝 的

13、解 决 方 案 1225.3.5 提高 MySQL 的安全性 .1225.4 基 本 命 令 及 函 数 运 用 .1235.4.1 数 据 库 操 作 相 关 命 令 1235.4.2 数 据 表 操 作 相 关 命 令 1255.4.3 记 录 存 取 相 关 命 令 1275.4.4 索 引 文 件 相 关 命 令 1335.4.5 显 示 数 据 库 与 数 据 表 信 息 相 关 命 令 1345.4.6 系 统 管 理 相 关 命 令 1365.5 MySQL 常用函数 .1415.5.1 基 本 运 算 函 数 1415.5.2 比 较 运 算 函 数 1435.5.3 字 符

14、串 比 较 函 数 1465.5.4 日 期 、 时 间 函 数 1495.5.5 数 值 函 数 1595.5.6 字 符 串 函 数 165VI 最新 PHP 及 MySQL 进阶教程5.5.7 其 他 相 关 函 数 175课后习题 182简答题 182第六章 PHP 和 MySQL 的结合 1836.1 PHP 的 MySQL 函数 1836.2 PHP 中 的 Mysql 基 本 函 数 .1846.3 PHP 的 Mysql 应 用 函 数 .190课后习题 201简答题 201第七章 PHP 与 MySQL 范例程序案例 2027.1 多 功 能 访 问 计 数 器 2027.2

15、 专 家 留 言 板 2127.3 简 易 聊 天 室 2277.4 热 门 在 线 投 票 区 2377.5 网 上 论 坛 制 作 2507.6 会 员 管 理 网 页 261课后习题 286练习题 286第 一 章 漫 谈 Linux、 PHP 和 MySQL1.1 Linux 与 Windows 的 世 纪 之 争长 久 以 来 , 主 宰 着 整 个 计 算 机 的 操 作 系 统 一 直 在 推 陈 出 新 , 其 目 的 都 是 为 了 提 供 用 户 一个更快速、更方便的操作环境。从 Microsoft 早期的 DOS 字符界面操作系统演变至今日 的 Windows 98/20

16、00/NT 图形界面操作系统,虽然 Microsoft 这个计算机软件界的老大声誉 已如日中天,但是另一套非微软派系的操作系统“Linux”仍然一直深受各大企业及许多计 算 机 玩 家 们 所 津 津 乐 道 , 在 操 作 系 统 的 领 域 中 占 有 一 席 之 地 , 它 迷 人 的 魅 力 到 底 在 那 里 ? 这是我们在学习 PHP 与 MySQL 之前必须要上的第一堂课。1.1.1 关于 LinuxLinux 的发展 起源于 1991 年 , 是由一位名为 Linus Torvalds 的芬 兰大学生研究开发出来 的类似 UNIX 的 操 作 系 统 。 鉴 于 当 时 的 M

17、icrosoft 的 操 作 系 统 价 格 过 于 昂 贵 , 且 源 程 序 代 码 并 不 对 外 公 开 , 所 以 系 统 发 生 问 题 时 , 用 户 只 能 期 待 Microsoft 能 够 推 出 更 新 的 操 作 系 统 版 本 。 因 此 , 为 了 解 决 操 作 系 统 售 价 过 高 , 以 及 个 人 无 法 维 护 系 统 程 序 的 两 大 问 题 , 免 费 且 程序代码开放的 Linux 操 作系统应运而生。 接下来 我们为您说明 Linux 操作 系统的几个特点: 免费的 Linux 操作系统Linux 与 Microsoft 的 Windows 9

18、8/2000/NT 等 操 作 系 统 一 样 , 都 是 32 位 的 多 任 务 操 作 系 统 。 但 是 在 整 体 的 执 行 性 能 及 运 行 上 , Linux 却 只 能 说 是 有 过 之 而 无 不 及 。 再 者 , 由 于 它 是 免 费 的 软 件 , 和 Microsoft 必 须 购 买 正 版 软 件 且 又 有 使 用 人 数 限 制 的 条 件 相 比 之 下 , 因 此 深 受 一 些 公 司 及 企 业 网 络 的 喜 爱 。 在 这 里 , 我 们 可 千 万 不 要 有 一 个 观 念 , 就 是 说 : 不 用 钱 的相对不好。相反地,Linux

19、 在 网 络 管 理 及 网 站 架 设 方 面 的 能 力 绝 对 是 凌 驾 于 Windows NT 之上。 开放的程序代码Linux 操作系 统的源程序代码是完全公开的, 您可 以很方便地从网络取得这些源程序代 码 。 只 要 您 是 经 验 老 道 的 程 序 员 , 您 甚 至 可 以 利 用 这 些 源 程 序 代 码 来 开 发 出 一 套 自 己 的 Linux 版 本 。 因 为 这 个 缘 故 , 目 前 世 界 上 有 着 许 多 的 Linux 操 作 系 统 版 本 。 程 序 代 码 开 放 的 好 处 在 于 , 一 旦 操 作 系 统 的 程 序 里 出 现

20、Bug, 全 世 界 数 以 万 计 的 程 序 员 便 能 除 错 并 更 新 , 放到网络上来供人下载使用。 在众志成城的同心协力之下 , Linux 就是 这样渐渐地成为一种 越来越完整及稳定的操作系统。 丰富的套件资源支持 Linux 的应用软件可以说是有成千上万,其中有 99% 都是免费的,这些软件都是2 最新 PHP 及 MySQL 进阶教程由 一 些 具 有 伟 大 牺 牲 奉 献 精 神 的 程 序 员 们 所 制 作 出 来 的 结 晶 , 我 们 可 以 从 许 多 下 载 Linux套 件 的 网 站 来 取 得 这 些 资 源 , 这 和 Windows 软 件 动 辄

21、 花 费 资 金 的 情 况 相 比 可 谓 是 天 壤 之 别 。 Linux 的缺点Linux 的复杂 的操作接口及环境设定一直是让许多人退避三舍的一个难题。 其实这也 有 可能是因为我们已经习惯了 Microsoft 操作系统的操作方式。此外,Linux 操 作 系 统 相 关 的 技术文件也大部分只能在网络上来找寻,和书店中到处都排满了 Windows 操作系统的书籍 相比,Linux 还 是 望 尘 莫 及 。 不 可 否 认 , Microsoft 的 Windows 操作系统在全世界中还是拥 有它的普及率。1.1.2 Linux 的图形操作环境 X WindowX Window

22、由来己久,早在 Microsoft 的 Windows 操作系统出现之前,于 1984 年麻省 理工学院便与 DEC 公司合作开发 UNIX 操作系统上的图形操作界面,简称 GUI(Graphical User Interface),其目的在于集成各个不同的工作站系统于一个统一的图形界面下来执行工 作 。 时 至 今 日 , 在 Linux 的 操 作 系 统 上 除 了 类 似 终 端 机 的 字 符 操 作 界 面 之 外 , X Window 也 开 发 出 了 集 成 式 的 桌 面 环 境 , GNOME 与 KDE 就是 Linux 上图形界面的代表。图 1.1 GNOME 的环境

23、界面集 成 式 的 桌 面 环 境 提 供 了 不 同 的 窗 口 操 作 界 面 , 还 包 含 了 各 自 的 应 用 程 序 。 如 果 用 户 的计算机同时安装了 GNOME 和 KDE 的话, 那就能随用户喜好来变换操作环境 , 使用不同 的应用程序。不像 Windows 操作系统,桌面控制似乎总是千篇一律,在从 Windows 95 到 Windows 2000 改 版 的 过 程 中 , 应 用 程 序 也 没 太 大 的 变 化 。 所 以 不 同 的 集 成 式 桌 面 环 境 正 是 Linux 在图 形 界面上略胜 Windows 之 处。 相信在 Linux 的 X W

24、indow 架构上, 会继续开发出 更多不同的集成式桌面环境。第一章 漫谈 Linux、 PHP 和 MySQL 3图 1.2 KDE 的环境界面1.1.3 各种 Linux 版本的介绍因为 Linux 公 开 源 程 序 代 码 , 所 以 人 人 都 能 够 任 意 复 制 及 修 改 。 演 变 至 今 , Linux 操作 系 统 的 版 本 已 经 不 下 数 十 种 , 形 成 百 家 争 鸣 的 局 面 。 不 过 , 这 些 版 本 总 归 是 换 汤 不 换 药 , 它们还是使用了相同的 Linux 核心, 只是在收录的程序方面会有差异 。 这一小节, 我们就来 看看目前几个

25、较为常见的 Linux 版 本 。操作系统的核心(Kernel), 是指操作系统如何配 置 共 享 计 算 机 的 系 统 资 源 , 如 CPU、 内 存 、 打 印 机 等 , 处 理 的 进 程 (process)。 不 同 的 操 作 系 统 , 如 Linux 与 Windows 便 是 设 计 了 不 同 的 核 心 执 行 方 式 。 虽 然 目 前 Linux 的 版 本 种 类 繁 多 , 但 是 它 的 核 心 (Kernel)却 都是相同的。 RedHatRedHat 是由 RedHat 公 司 所 开 发 出 来 的 Linux 版 本 , 可 以 说 它 是 现 今

26、最 为 热 门 的 Linux 操作系统版本,在全球占有最高的使用率。RedHat 之 所 以 能 在 众 多 的 Linux 版 本 中 脱 颖 而 出 , 原 因 在 于 它 安 装 容 易 及 使 用 简 便 , 一 般 人 皆 能 够 轻 易 上 手 。 而 在 其 背 后 , 更 是 有 着 一 群 高 素 质 的 程 序 研 发 人 员 。 RedHat 采用了 rpm 软件套件包装的方式,简化了应用软件的安 装 程 序 , 且 若 套 件 中 的 程 序 代 码 发 生 错 误 , 程 序 研 发 小 组 便 会 迅 速 地 修 正 。 这 个 优 势 造 就 了今日 RedHa

27、t 的 强 劲 走 势 。4 最新 PHP 及 MySQL 进阶教程 SlackwareSlackware 在 早 期 是 相 当 受 欢 迎 的 Linux 版 本 , 原 因 在 于 其 安 装 界 面 及 系 统 架 构 长 久 以 来 一 直 没 有 太 大 的 突 破 , 而 且 在 系 统 升 级 这 方 面 也 相 当 不 容 易 。 不 过 由 于 其 历 史 悠 久 , 仍 然 拥 有 相 当 多 的 忠 实 用 户 。 Slackware 的 软 件 套 件 采 用 tar 的 包 装 方 式 , 有 着 其 独 特 的 优 点 。 对于一些想要探索 Linux 知 识 领

28、 域 的 人 , 这 个 版 本 也 是 一 个 相 当 不 错 的 选 择 。 Debian这个 Linux 版本可说是最为困难的 Linux 操作系 统, 其在整个系统的规划及架构上较为 严谨, 通常用 户都是一些使用 Linux 的 资深高手或者是参与 Linux 程序代码 开发的设计人员。 这个版本的优点在于升级容易且有相当多支持的软件套件; 此外, 亦有许多的 Linux 版本是 采用了 Debian 的 部 分 设 计 理 念 , 毕 竟 它 是 一 个 深 受 Linux 高 级 用 户 所 喜 爱 的 版 本 。 SuSESuSE 套 件 在 欧 洲 有 相 当 多 的 拥 护

29、 族 群 。 它 采 用 KDE( K Desktop Environment) 桌 面 环 境 , 内 含 1500 个 常 用 套 件 , 当 然 也 包 含 了 Linux 中 的 文 字 处 理 功 臣 StarOffice。 您 不 妨 到以下网址取得更多相关信息。http:/ X LinuxX Linux 为 台 湾 网 虎 公 司 所 开 发 。 它 使 用 全 新 架 构 的 “地 球 文 字 集 ”, 可 同 时 处 理 繁 简 体 中 文 、 日 文 、 泰 文 、 藏 文 、 各 类 西 方 语 文 、 越 南 语 、 俄 语 等 12 国 语 言 , 采 用 全 图 形

30、 中 文 化安装界面。您可到以下网址取得相关信息。http:/.tw/ Blue Point LinuxBlue Point Linux 由 中 国 大 陆 公 司 所 开 发 , 它 可 以 一 个 版 本 同 时 支 持 简 /繁 体 汉 字 。 并 具 有同时显示多种内码和指定窗口内码的功能。从开始安装时,您可选择简/繁体安装界面, 与百资出品的 Linux 6.3 和大同资讯出品的 Linux 2000 很 类 似 。 Turbo LinuxTurbo Linux 以 Linux 为 核 心 。 支 持 简 体 /繁 体 转 换 , 有 很 强 大 的 多 元 化 的 套 件 , 容

31、量 有 1GB 之多。懒得再找套件的确可以省下不少功夫。无论是文字处理、多媒体,还是网络各 种工具组件,多半应有尽有。您可到以下网址查询相关信息。http:/.tw/Turbolinux/Turbolinux.html1.2 网 站 的 构 建 元 素 与 观 念一个 Internet 的网站服务,是采用了“客户端”与“服务器”的处理机制。“客户端” 就 是 我 们 一 般 通 过 浏 览 器 观 看 网 页 的 在 线 用 户 ; 而 “服 务 器 ”则 是 一 台 存 储 网 站 所 有 网 页 及 数 据 的 计 算 机 。 当 用 户 的 浏 览 器 向 服 务 器 提 出 要 求 ,

32、 服 务 器 就 会 选 择 客 户 端 所 要 求 的 数第一章 漫谈 Linux、 PHP 和 MySQL 5据,通过互联网来传送,然后显示在我们的计算机屏幕上。这个概念的流程如下:服务器(存 储 与 处 理 数 据 )传送浏览器(处 理 数 据 )要 求显 示 用户屏幕而 服 务 器 中 到 底 包 含 了 哪 些 数 据 ? 这 些 数 据 是 由 哪 一 边 来 处 理 呢 ? 这 就 是 这 一 节 里 我 们所要讨论的主题。1.2.1 HTML 网页文件HTML 语 言 是 制 作 网 页 的 一 种 标 准 语 言 。 利 用 HTML 语 法 编 辑 而 成 的 文 件 必

33、须 通 过 客 户端的浏览器来处理,然后将结果显示在屏幕上。HTML 其实是一个纯文本文件,扩展名 为.htm 或 是 .html, 它 的 内 容 类 似 下 面 的 文 本 片 段 :HTML 文 件 内 容 这 就 是 HTML 文件ch1-1.htm当我们使用浏览器来观看上面的文件时,会出现如图 1.3 所 示 的 结 果 。浏 览 器 是 以 HTML 源 代 码 开 头 的 html标 记 来 识 别 该 文 件 为 HTML 网 页 , 并 进 一 步 处 理 其 中 内 容 。 HTML 所 组 成 的 网 页 通 常 是 静 态 的 , 而 且 客 户 端 与 服 务 器 并

34、 没 有 办 法 产 生 任 何 互 动 , 因 此 一 个 网 站 若 要 与 上 线 的 用 户 有 互 动 的 关 系 , 譬 如 说 数 据 的 传 递 或 者 验 证 , 仍 然 要 依 赖 一 些 程 序 。 这 些 程 序 可 内 嵌 在 HTML 文 件 之 中 。 按 处 理 的 方 式 可 分 为 两 大 类 , 一 类 为 客 户 端 浏 览 器 处 理 的 程 序 , 如 VBScript 和 JavaScript; 另 外 一 类 就 是 在 服 务 器 端 处 理 的 程 序 , 如 PHP 以 及 ASP。图 1.36 最新 PHP 及 MySQL 进阶教程1.2

35、.2 VBScript 与 JavaScript 介绍在客户端处理的网页内嵌程序,最具代表性的就属 VBScript 和 JavaScript 了 。 这 两 种 程 序 分 别 是 由 微 软 (Microsoft)以 及 网 景 (Netscape)所 开 发 出 来 的 , 程 序 部 分 一 样 可 由 浏 览 器 来解析及处理,然后将结果显示在用户的屏幕上,或者将数据传送到远程服务器。程 序 代 码 由 客 户 端 来 处 理 的 优 点 在 于 速 度 快 , 因 为 不 必 通 过 网 络 千 里 迢 迢 地 传 送 给 服 务 器 处 理 , 而 且 由 于 服 务 器 有 时

36、 必 须 处 理 众 多 的 用 户 要 求 。 把 部 分 能 够 在 客 户 端 执 行 的 程 序 交 给 用 户 的 浏 览 器 处 理 便 能 减 轻 服 务 器 的 负 荷 , 提 升 服 务 器 的 性 能 。 比 如 说 , 在 一 个 登 录会员的网页上, 我们会将验证输入资料工作交给 VBScript 或者 JavaScript, 而接收 以及处 理会员资料的工作则是交给服务器端的 PHP 或是 ASP。下面就是一个使用 JavaScript 验证用 户输入资料的范例程序。 这里我们的重点不是在于 如何编写 JavaScript, 而 是 在 于 客 户 端 程 序 与 服

37、 务 器 端 程 序 的 配 合 使 用 。【范例】客户端验证资料程序会 员 登 录 网 页 function datacheck(form)var errmsgvar char = form.email.value.length if(form.user.value=“)errmsg = “姓 名 字 段 不 可 为 空 白 “else if(form.email.value=“)errmsg = “E-mail 字 段 不 可 为 空 白 “ elsefor(var i=1;i会 员 登 录 姓 名 E-mail ch1-2.htm【程序说明】这 个 网 页 它 最 主 要 是 提 供 了

38、 一 个 表 单 来 供 用 户 输 入 姓 名 及 E-mail 数 据 , 最 后 传 送 到 服 务 器 端 处 理 。 此 表 单 属 性 为 form action = process.php name=member method=post, 定 义 此 表 单 名 为 member, 处 理 表 单 的 服 务 器 端 解 释 程 序 为 process.php, post 则是数据传 送的方式。 1. 此 网 页 使 用 JavaScript 来 验 证 用 户 输 入 的 资 料 , JavaScript 与 VBScript 一 样 , 程 序代码都必须编写在 HTML 文件

39、中的head和/head 标记之间。而且我们必须先定义使 用 的 语 法 script language=JavaScript, 并 用 /script来 标 示 结 束 程 序 。 2. 此 段 JavaScript 程 序 代 码 会 判 断 用 户 输 入 的 字 段 是 否 为 空 白 , 并检查 输入的 E-mail 是 否 包 含 符 号 , 如 有 错 误 则 会 弹 出 警 告 窗 口 ; 若 输 入 的 数 据 经 检 查 无 误 , 最 后 一 行 程 序 代 码 “form.submit( )”便 会 将 此 表 单 的 数 据 送 传 至 服 务 器 由 process

40、.php 来 处 理 。 下 面 就来看看此范例的运行结果。 8 最新 PHP 及 MySQL 进阶教程【运行结果】1. 输入姓名 输入错误的 E-mail账号 按此按钮图 1.4 2.按此按钮图 1.5 3. 输入正确的 E -mail 账 号 按 下 此 按 钮 后 , 将 数 据 送给服务器处理图 1.6 第一章 漫谈 Linux、 PHP 和 MySQL 9通过这个范例我们可以了解到, 利用客户端的程序可以过滤掉一些不正确数据的传送, 节 省 服 务 器 处 理 这 些 错 误 数 据 的 时 间 及 资 源 。 因 此 , 一 个 网 站 的 程 序 设 计 者 , 要 能 够 巧

41、妙 地配合运用客户端及服务器端的程序,才能发挥服务器最大的性能。1.2.3 服务器端程序解析及工作环境在 了 解 了 客 户 端 的 执 行 程 序 后 , 现 在 我 们 就 来 探 讨 一 下 服 务 器 端 的 工 作 环 境 与 执 行 方 式 。服务器端的执行程序如 PHP、 ASP 的 程 序 代 码 , 可 以 编 写 在 HTML 文 件 之 中 或 者 是 另 存为一个文件(扩展名通常为.asp、.php)。当用户要求的网页涉及程序的部分时,服务器 便会对程序代码做解析,然后将结果以 HTML 代码的方式输出到客户端,由用户的浏览器 将 结 果 显 示 出 来 。 由 于 程

42、 序 部 分 是 在 服 务 器 端 处 理 的 , 因 此 不 会 有 浏 览 器 不 支 持 语 法 的 情 况发生。下面是这类程序的执行流程说明:要求 PHP,ASP 输入客户端(浏览器显示)传送服务器端(服务器解析)输出HTML目前如上述的网站服务器工作平台大致可分为两大主流: Linux 操 作 系 统 下 的 Apache 服务器与 PHP、 MySQL 数据库搭配。 Windows 98/NT 操作系统下的 PWS/IIS 服务器配合 ASP、 SQL 数据库。 平心而论,以笔者的看法,Linux 操 作 系 统 环 境 在 性 能 及 稳 定 性 较 Windows 操作系统有

43、 着 较 大 的 优 势 。 然 而 在 开 发 的 简 易 度 上 , Windows 却 是 略 胜 一 筹 。 此 外 , 由 于 使 用 的 操 作 系 统 不 同 , 嵌 入 网 页 中 的 客 户 端 程 序 必 须 有 所 改 变 。 如 Linux系统下默认的浏览器为 Netscape, 并 无法支持 VBScript, 因此 若是在 Linux 系统下, 客 户端 的程序必须采用 JavaScript 来 编 写 ; 而 在 Windows 系统下则没有这种限制。笔 者 札 记温故知新,了解什么是 CGI?在早期,服务器端的程序技术通常是采用 CGI 程序。CGI 英文全名为

44、 Common Gateway Interface, 中 文 为 “通 用 网 关 接 口 ”。 通 过 这 个 接 口 , 网 站 便 可 使 用 外 部 的 程 序 , 这 些 程 序可用 Perl、C 等程序来编写。 使用 CGI 程序的优点在于它并没有操作平台上的限制,因为几乎所有的网站服务器都10 最新 PHP 及 MySQL 进阶教程支持 CGI 程序。然而其最大的弱点在于,每一次执行程序都会占用一部分系统资源。举例 来 说 , 若 有 100 个 用 户 同 时 连 到 网 站 , 此 时 服 务 器 必 须 执 行 同 一 个 CGI 程序来提供服务时, 那这个程序会被执行 1

45、00 次,并配置 100 份的系统资源。这将严重地影响执行的效率,也 很容易耗尽系统资源,造成死机。 网站服务器通 用 网 关 接 口 (CGI)CGI 程序 1 CGI 程序 2 CGI 程序 N1.2.4 网站数据库数 据 库 的 应 用 概 念 在 目 前 建 构 大 型 网 站 上 , 已 经 是 不 可 缺 少 的 要 素 之 一 , 因 为 网 站 与 在 线 用 户 之 间 的 互 动 关 系 常 常 是 建 立 在 传 送 数 据 、 显 示 数 据 、 记 录 数 据 等 上 。 就 拿 会 员 验 证 的 这 项 功 能 而 言 , 网 站 必 须 能 够 验 证 上 线

46、者 所 输 入 的 数 据 是 否 与 数 据 库 中 所 登 录 的 相 符 合,这需要服务器端的程序和数据库相结合,才能够来完成。因此,才会有 MySQL 或 者 SQL 数据库的功能,便能提供更多的信息,成为一个完整且具有灵活性的网络服务。由下 图我们可以看出客户端执行程序、服务器端执行程序、数据库三者之间的关系:客户端浏览器(Netscape 或 IE)处理 JavaScript 程序代码要求与传送数据 传送数据服务器端解析器(Apache)处理 PHP 程序代码存入数据 读取数据数据库(MySQL)接下来,我们更进一步地为读者补充数据库的一些基本概念。 文本数据库 文 本 式 数 据

47、 库 是 由 普 通 的 文 本 所 组 成 , 它 的 构 成 可 说 是 直 截 了 当 , 拿 一 个 简 单 的 电 话簿数据库为例,它可能看起来像这样:1 张久荣 123-45672 张翔智 756-43213 吴思仪 111-11114 刘伍华 222-2222由 上 面 的 例 子 可 以 很 明 显 看 出 , 数 据 是 一 目 了 然 。 这 也 正 是 文 本 式 数 据 库 的 优 点 。 但是当数据多到需要分门别类时,就会造成数据重复存储,进而导致数据混淆的情形发生。第一章 漫谈 Linux、 PHP 和 MySQL 11客户编号 产品编号1 42 11 21 32

48、22 1编号 名称1 光驱2 硬盘3 软驱4 打印机录像带包含继承书杂志 关系数据库 关 系 数 据 库 是 将 数 据 存 储 于 表 格 当 中 , 每 一 个 表 格 含 有 的 行 与 列 用 来 存 储 数 据 。 下 面是一个例子:客户 订单 产品编号 姓名1 张久荣2 张翔智在 这 个 例 子 中 , 客 户 和 产 品 间 有 一 个 表 格 “订 单 ”, 它 和 客 户 及 产 品 数 据 皆 有 关 系 , “客 户 编 号 ”和 “产 品 编 号 ”都 存 于 其 中 。 通 过 这 些 编 号 , 可 以 很 容 易 找 到 相 对 应 的 客 户 数 据 及 产 品

49、 数 据 , 也 就 不 用 再 重 复 存 储 客 户 及 产 品 的 详 细 数 据 。 这 正 是 关 系 数 据 库 的 优 点 , 除 此 之 外 , 因 为 数 据 彼 此 相 关 , 也 可 保 持 数 据 的 一 致 性 。 目 前 绝 大 多 数 数 据 库 都 是 采 用 这 种方式来构建。 面向对象数据库 面向对象数据库是将数据分类成不同的对象, 每一个对象都有自己的数据及搜寻方法。通 过 “继 承 ”的 方 式 , 子 对 象 不 但 有 自 己 的 数 据 及 方 法 , 还 可 以 有 父 对 象 的 数 据 及 方 法 。 下面是一个例子:图书馆物品继承 继承12 最新 PHP 及 MySQL 进阶教程“继 承 ”是 一 种 面 向 对 象 的 概 念 , 此 概 念 的 意 义 在 于 由 同 一 “父

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报