PHP语言基础.doc_第1页
PHP语言基础.doc_第2页
PHP语言基础.doc_第3页
PHP语言基础.doc_第4页
PHP语言基础.doc_第5页
免费预览已结束,剩余104页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 1 章 Oracle 10g 数据库基础 工业和信息化部工业和信息化部 中国电子工业科学技术交流中心中国电子工业科学技术交流中心 国家软件与电子科技人才培养工程国家软件与电子科技人才培养工程指定教材指定教材 LCSDLCSD 软件开发工程师软件开发工程师 PHPPHP 语言基础语言基础 伯克利软件教育 研发 C C CoreCore CurriculumCurriculum 基础阶段 基础阶段 学生用书学生用书 伯克利软件教育 LCSDLCSD 软件开发工程师软件开发工程师 C 阶段 Core Curriculum XML 语言 数据库高级应用 Java Web 编程 面向对象高级编程 面向对象程序设计与设计模式 Web 应用表现层框架 Web 应用持久层框架 Web 应用 Spring 框架 Web 应用 EJB 框架 综合实训项目 综合素质教育 声明 本书为内部资料 仅供伯克利软件教育参考使用 第 1 章 Oracle 10g 数据库基础 前前 言言 信息技术 information technology 简称 IT 在人类社会由农业 工业社会的生产力向信息社会生产力 的转换中起到了不可替代的作用 是当今世界最高技术的主导和灵魂 是人类历史上渗透力最强的技术 随 着科学技术和经济的飞速发展 具有高技术含量 高附加值特点的信息产业已成为众多发达国家保持经济持 续增长的最重要手段 而作为信息产业中最活跃 智力密集度最高 也是发展最快的软件产业 更是成为各 国政府关注的焦点 软件产业已经成为国民经济新的增长点 也成为衡量一个国家现代化程度和综合国力的 重要指标 软件产业的发展关系到一个国家的政治和未来 软件产业已成为 21 世纪拥有最大产业规模和最 具广阔前景的新兴产业之一 全球软件行业变革和技术发展给中国的软件行业带来了非常广阔的发展空间和 巨大的发展契机 软件行业对人才的需求量也呈上升趋势 人才供给缺口将是未来一段时间内软件人才市场 的主旋律 伯克利教育秉承 做教育就是做良心 的企业宗旨 耗时一年多 在近百家软件企业的各个层面进行 了客观 务实 深入的调研 精准总结出了若要胜任软件企业各类职业角色所必备的技能和素质 推出了 LCSD2009 软件工程师 软件职业培训课程 为有志于从事 IT 事业的人员提供了一整套系统 专业 快 捷 深入 高效 先进的职业化培训课程 并诚邀十二位资深专家和软件企业的精英指导和参与本套教材的 研发和编撰 使本套课程具有了最贴近软件企业的全面需求 最符合最前沿技术的发展趋势 最大程度兼容 目前最实用技术的特点 本套课程 理论讲解详实 全面 深入浅出 通俗易懂 实训内容精练 扎实 目标明确 步骤清晰 通过大量的形象生动的章节实训和阶段性项目实战 逐步培养出学员很强的规范标准的编码能力 使其快速 积累项目实战经验 大幅提升学员的职业素质 我们的目标 打造中国 IT 职业培训新高度 培育民族高端 IT 技能人才 助力中国 IT 行业快速发展 做行业伯克利 育 IT 精英 LCSD2009 产品研发部产品研发部 理论部分理论部分 理论部分理论部分 4 第第 1 章章PHP 简介和安装简介和安装 10 本章简介本章简介 11 1 1什么是什么是 PHP 11 1 2什么是什么是 PHP 文件文件 11 1 3什么是什么是 MySQL 11 1 4PHP MySQL 12 1 5为什么要使用为什么要使用 PHP 12 1 6从何处开始 从何处开始 12 1 7如何安装如何安装 PHP 12 本章小结本章小结 13 第第 2 章章PHP 语法和变量语法和变量 14 本章简介本章简介 15 2 1基本的基本的 PHP 语法语法 15 2 2PHP 中的注释中的注释 16 第 1 章 Oracle 10g 数据库基础 2 3PHP 中的变量中的变量 16 2 42 4PHPPHP 是一门松散类型的语言 是一门松散类型的语言 LooselyLoosely TypedTyped LanguageLanguage 17 2 52 5变量的命名规则变量的命名规则 17 本章小结本章小结 18 第第 3 章章PHP 字符串和运算符字符串和运算符 18 本章简介本章简介 19 3 13 1PHPPHP 中的字符串中的字符串 19 3 2并置运算符 并置运算符 Concatenation Operator 19 3 33 3使用使用 strlen strlen 函数函数 20 3 43 4使用使用 strpos strpos 函数函数 21 3 5完整的完整的 PHP String 参考手册参考手册 21 3 6PHP 运算符运算符 21 本章小结本章小结 23 第第 4 章章PHP IF ELSE 语句和语句和 SWITCH 语句语句 24 本章简介本章简介 25 4 14 1条件语句条件语句 25 4 24 2If ElseIf Else 语句语句 25 4 34 3ElseIfElseIf 语句语句 27 4 44 4SwitchSwitch 语句语句 28 第第 5 章章PHP 数组和循环数组和循环 29 本章简介本章简介 31 5 15 1什么是数组 什么是数组 31 5 25 2数值数组数值数组 31 5 35 3关联数组关联数组 32 5 4多维数组多维数组 33 5 5循环循环 35 5 6while 语句语句 36 5 7do while 语句语句 37 5 8for 语句语句 38 5 9foreach 语句语句 39 本章小结本章小结 40 第第 6 章章PHP 函数和表单函数和表单 40 本章简介本章简介 42 6 16 1PHPPHP 函数函数 42 6 26 2创建创建 PHPPHP 函数函数 42 6 3使用使用 PHP 函数函数 43 6 46 4PHPPHP 函数函数 添加参数添加参数 44 6 5PHP 表单处理表单处理 47 6 6表单验证表单验证 48 本章小结本章小结 48 第第 7 章章PHP GET 和和 PHP POST 49 本章简介本章简介 50 7 17 1 GET GET 变量变量 50 7 27 2为什么使用为什么使用 GET GET 51 7 37 3 REQUEST REQUEST 变量变量 51 7 4 POST 变量变量 51 7 5为什么使用为什么使用 POST 52 7 6 REQUEST 变量变量 52 本章小结本章小结 52 第第 8 章章PHP 日期和引用日期和引用 53 第 1 章 Oracle 10g 数据库基础 本章简介本章简介 54 8 18 1PHPPHP Date Date 函数函数 54 8 28 2PHPPHP 日期日期 什么是时间戳 什么是时间戳 TimestampTimestamp 54 8 38 3PHPPHP 日期日期 格式化日期格式化日期 54 8 48 4PHP 日期日期 添加时间戳添加时间戳 55 8 5服务器端引用 服务器端引用 Server Side Includes 56 8 6include 函数函数 56 8 7require 函数函数 58 本章小结本章小结 60 第第 9 章章PHP 文件和文件上传文件和文件上传 60 本章简介本章简介 61 9 1创建一个文件上传表单创建一个文件上传表单 61 9 29 2创建上传脚本创建上传脚本 62 9 3上传限制上传限制 63 9 4保存被上传的文件保存被上传的文件 64 本章小结本章小结 65 第第 10 章章PHP COOKIES 和和 SESSIONS 66 本章简介本章简介 67 10 110 1什么是什么是 CookieCookie 67 10 210 2如何创建如何创建 cookiecookie 67 10 310 3如何取回如何取回 CookieCookie 的值 的值 68 10 410 4如何删除如何删除 cookiecookie 69 10 510 5如果浏览器不支持如果浏览器不支持 cookiecookie 该怎么办 该怎么办 69 10 6PHP Session 变量变量 70 10 7开始开始 PHP Session 70 10 8存储存储 Session 变量变量 71 10 9终结终结 Session 72 本章小结本章小结 73 第第 11 章章PHP E MAIL 和安全和安全 E MAIL 73 本章简介本章简介 75 11 111 1PHPPHP mail mail 函数函数 75 11 211 2PHPPHP 简易简易 E MailE Mail 75 11 311 3PHPPHP MailMail FormForm 76 11 411 4PHPPHP MailMail 参考手册参考手册 77 11 5PHP E mail 注入注入 78 11 6PHP 防止防止 E mail 注入注入 79 本章小结本章小结 81 第第 12 章章PHP 错误处理和异常处理错误处理和异常处理 82 本章简介本章简介 83 12 112 1PHPPHP 错误处理错误处理 83 12 212 2基本的错误处理 使用基本的错误处理 使用 die die 函数函数 83 12 3创建自定义错误处理器创建自定义错误处理器 84 12 4Set Error Handler 86 12 5触发错误触发错误 87 12 6错误记录错误记录 89 12 7什么是异常 什么是异常 90 12 8异常的基本使用异常的基本使用 90 12 9创建一个自定义的创建一个自定义的 Exception 类类 93 12 10多个异常多个异常 94 12 11重新抛出异常重新抛出异常 96 第 1 章 Oracle 10g 数据库基础 12 12设置顶层异常处理器设置顶层异常处理器 Top Level Exception Handler 98 12 13异常的规则异常的规则 99 本章小结本章小结 99 第第 13 章章PHP 过滤器 过滤器 FILTER 99 本章简介本章简介 100 13 1什么是什么是 PHP 过滤器 过滤器 101 13 2为什么使用过滤器 为什么使用过滤器 101 13 3函数和过滤器函数和过滤器 101 13 4Validating 和和 Sanitizing 102 13 5选项和标志选项和标志 103 13 6验证输入验证输入 104 13 7净化输入净化输入 105 13 8过滤多个输入过滤多个输入 106 13 9使用使用 Filter Callback 107 本章小结本章小结 108 第第 1 1 章章 PHPPHP 简介和安装简介和安装 本章学习目标本章学习目标 了解什么是了解什么是 PHPPHP 和和 PHPPHP 文件文件 了解什么是了解什么是 MySQLMySQL 学习学习 PHP MySQLPHP MySQL 了解为什么要使用了解为什么要使用 PHPPHP 学习如果安装学习如果安装 PHPPHP 第 1 章 Oracle 10g 数据库基础 本章简介本章简介 在继续学习之前 您需要对下面的知识有基本的了解 1 HTML XHTML 2 基础的脚本知识 PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言 PHP 是免费的 并且使用非常广泛 同时 对于像微软 ASP 这样的竞争者来说 PHP 无疑是另一种高效 率的选项 PHP 极其适合网站开发 其代码可以直接嵌入 HTML 代码 PHP 语法非常类似于 Perl 和 C PHP 常常搭配 Apache web 服务器 一起使用 不过它也支持 ISAPI 并且可以运行于 Windows 的微软 IIS 平台 1 11 1什么是什么是 PHPPHP PHP 指 PHP 超文本预处理器 译者注 PHP Hypertext Preprocessor 递归命名 PHP 是一种服务器端的脚本语言 类似 ASP PHP 脚本在服务器上执行 PHP 支持很多数据库 MySQL Informix Oracle Sybase Solid PostgreSQL Generic ODBC 等等 PHP 是一个开源的软件 open source software OSS PHP 可免费下载使用 1 21 2什么是什么是 PHPPHP 文件文件 PHP 文件可包含文本 HTML 标签以及脚本 PHP 文件向浏览器返回纯粹的 HTML PHP 文件的文件后缀是 php php3 或 phtml 1 31 3什么是什么是 MySQLMySQL MySQL 是一种数据库服务器 MySQL 支持标准的 SQL MySQL 可在许多平台上编译 MySQL 可免费下载使用 1 41 4PHPPHP MySQLMySQL PHP 与 MySQL 的组合是跨平台的 意思是您可以在 Windows 环境进行开发 而在 Unix 平台上提供服 务 1 51 5为什么要使用为什么要使用 PHPPHP PHP 可在不同的平台上运行 Windows Linux Unix PHP 与目前几乎所有的正在被使用的服务器相兼容 Apache IIS 等 PHP 可从官方的 PHP 资源免费下载 PHP 易于学习 并可高效地运行在服务器端 1 61 6从何处开始 从何处开始 在 Windows 或者 Linux 机器上安装 Apache 服务器 在 Windows 或者 Linux 机器上安装 PHP 在 Windows 或者 Linux 机器上安装 MySQL 1 71 7如何安装如何安装 PHPPHP 本教程不会为您讲解如何安装 PHP MySQL 或 Apache 服务器 如果您的服务器支持 PHP 那么您不需要做任何事情 您不需要编译任何软件 或安装额外的工具 只要 在您的 web 目录中创建 php 文件即可 然后您的服务器会为您解析这些文件 大多数主机都提供对 PHP 的支持 不过 如果您的服务器不支持 PHP 那么您必须安装 PHP 下面的链接提供了来自 PHP net 的优秀教程 您可以从中学习到如何安装 PHP5 下载下载 PHPPHP 从此处下载免费的 PHP 下载下载 MySQLMySQL DatabaseDatabase 第 1 章 Oracle 10g 数据库基础 从此处下载免费的 MySQL 下载下载 ApacheApache ServerServer 从此处下载免费的 Apache http httpd apache org download cgi 本章小结本章小结 Oracle 系统体系结构由三部分组成 逻辑结构 物理结构和实例 其中 实例是维系物理结构和逻 辑结构的核心 oracle 的逻辑结构包括 表空间 是数据库中的基本逻辑结构 一系列数据文件的集合 段 是对象在数据库中占用的空间 区 是为数据一次性预留的一个较大的存储空间 块 ORACLE 最基本的存储单位 在建立数据库的时候指定 第第 2 2 章章 PHPPHP 语法和变量语法和变量 本章学习目标本章学习目标 学习学习 PHP 基本语法基本语法 学习学习 PHP 的注释和变量的注释和变量 掌握变量的命名规则掌握变量的命名规则 第 11 章 触发器 本章简介本章简介 您无法在浏览器中通过查看源文档的方式来查看 PHP 的源代码 您只能看到 PHP 文件的输出 即纯 粹的 HTML 这是因为在结果返回浏览器之前 脚本就已经在服务器执行了 变量用于存储值 比如数字 字符串或函数的结果 这样我们就可以在脚本中多次使用它们了 2 12 1基本的基本的 PHPPHP 语法语法 PHP 的脚本块以 php 结束 您可以把 PHP 的脚本块放置在文档中的任何位置 当然 在支持简写的服务器上 您可以使用 来开始和结束脚本块 不过 为了达到最好的兼容性 我们推荐您使用标准形式 php 而不是简写形式 PHP 文件通常会包含 HTML 标签 就像一个 HTML 文件 以及一些 PHP 脚本代码 在下面 我们提供了一段简单的 PHP 脚本 它可以向浏览器输出文本 Hello World PHP 中的每个代码行都必须以分号结束 分号是一种分隔符 用于把指令集区分开来 有两种通过 PHP 来输出文本的基础指令 echoecho 和 printprint 在上面的例子中 我们使用了 echo 语句来 输出文本 Hello World 2 22 2PHPPHP 中的注释中的注释 在 PHP 中 我们使用 来编写单行注释 或者使用 和 来编写大的注释块 2 32 3PHPPHP 中的变量中的变量 变量用于存储值 比如数字 文本字符串或数组 一旦设置了某个变量 我们就可以在脚本中重复地使用它 第 11 章 触发器 PHP 中的所有变量都是以 符号开始的 在 PHP 中设置变量的正确方法是 var name value PHP 的入门者往往会忘记在变量的前面的 符号 如果那样做的话 变量将是无效的 让我们试着创建一个存有字符串的变量 和一个存有数值的变量 2 42 4PHPPHP 是一门松散类型的语言 是一门松散类型的语言 LooselyLoosely TypedTyped LanguageLanguage 在 PHP 中 不需要在设置变量之前声明该变量 在上面的例子中 您看到了 不必向 PHP 声明该变量的数据类型 根据变量被设置的方式 PHP 会自动地把变量转换为正确的数据类型 在强类型的编程语言中 您必须在使用前声明变量的类型和名称 在 PHP 中 变量会在使用时被自动声明 2 52 5变量的命名规则变量的命名规则 变量名必须以字母或下划线 开头 变量名只能包含字母数字字符以及下划线 变量名不能包含空格 如果变量名由多个单词组成 那么应该使用下划线进行分隔 比如 my string 或者以大写字母开头 比如 myString 本章小结本章小结 牢记 Oracle 数据常用数据类型 字符类型 数值类型 日期类型 二进制类型 大对象类型及伪列 等 学会对数据进行增 删 改 查的操作 连接查询是指基于两个或两个以上表或视图的查询 在实际应用中 查询单个表可能无法满足应用 程序的实际需求 例如显示 SALES 部门位置以及雇员名 在这种情况下就需要进行连接查询 DEPT 和 EMP 表 第第 3 3 章章 PHPPHP 字符串和运算符字符串和运算符 本章学习目标本章学习目标 学习学习 PHP 中的字符串中的字符串 学习并置运算符 学习并置运算符 Concatenation Operator 学习并使用使用学习并使用使用 strlen 函数函数 学习并使用学习并使用 strpos 函数函数 学习完整的学习完整的 PHP String 参考手册参考手册 学习学习 PHP 运算符运算符 第 11 章 触发器 本章简介本章简介 字符串变量用于存储并处理文本片段 运算符用于对值进行运算 3 13 1PHPPHP 中的字符串中的字符串 字符串变量用于包含字符串的值 在本教程中 我们打算介绍几个在 PHP 中用于操作字符串的最常用的函数和运算符 在创建字符串之后 我们就可以对它进行操作了 您可以直接在函数中使用字符串 或者把它存储在变量中 在下面 PHP 脚本把字符串 Hello World 赋值给名为 txt 的字符串变量 以上代码的输出 Hello World 现在 让我们试着使用不同的函数和运算符来操作我们的字符串 3 23 2并置运算符 并置运算符 ConcatenationConcatenation OperatorOperator 在 PHP 中 只有一个字符串运算符 并置运算符 用于把两个字符串值连接起来 要把两个变量连接在一起 请使用这个点运算符 以上代码的输出 Hello World 1234 您可以看到 我们在上面的例子中使用了两次并置运算符 这是由于我们需要插入第三个字符串 为了分隔这两个变量 我们在 txt1 与 txt2 之间插入了一个空格 3 33 3使用使用 strlen strlen 函数函数 strlen 函数用于计算字符串的长度 让我们算出字符串 Hello world 的长度 以上代码的输出 12 字符串的长度信息常常用在循环或其他函数中 因为那时确定字符串何时结束是很重要的 例如 在循环中 我们需要在字符串中的最后一个字符之后结束循环 第 11 章 触发器 3 43 4使用使用 strpos strpos 函数函数 strpos 函数用于在字符串内检索一段字符串或一个字符 如果在字符串中找到匹配 该函数会返回第一个匹配的位置 如果未找到匹配 则返回 FALSE 让我们试一下 是不是能在字符串中找到子字符串 world 以上代码的输出是 6 正如您看到的 在我们的字符串中 字符串 world 的位置是 6 返回 6 而不是 7 是由于字符串中的首 个位置的 0 而不是 1 3 53 5完整的完整的 PHPPHP StringString 参考手册参考手册 如需完整的字符串函数参考手册 请访问我们的 PHP String 参考手册 这个手册提供了每个函数的简要描述和实例 3 63 6PHPPHP 运算符运算符 本部分列出了在 PHP 中使用的各种运算符 算数运算符算数运算符 运算符运算符说明说明例子例子结果结果 Additionx 2 x 2 4 Subtractionx 23 5 x Multiplicationx 4 x 5 20 Division15 5 5 2 3 2 5 Modulus division remainder 5 2 10 8 10 2 1 2 0 Incrementx 5 x x 6 Decrementx 5 x x 4 赋值运算符赋值运算符 运算符运算符说明说明例子例子 x yx y x yx x y x yx x y x yx x y x yx x y x yx x y x yx x y 比较运算符比较运算符 运算符运算符说明说明例子例子 is equal to5 8 returns false is not equal5 8 returns true 第 11 章 触发器 is greater than5 8 returns false is less than5 is greater than or equal to5 8 returns false is less than or equal to5 8 returns true 逻辑运算符逻辑运算符 运算符运算符说明说明例子例子 else code to be executed if condition is false 实例实例 如果当前日期是周五 下面的代码将输出 Have a nice weekend 否则会输出 Have a nice day 如果需要在条件成立或不成立时执行多行代码 应该把这些代码行包括在花括号中 php d date D if d Fri echo Hello echo Have a nice weekend echo See you on Monday 第 11 章 触发器 4 34 3ElseIfElseIf 语句语句 如果希望在多个条件之一成立时执行代码 请使用 elseif 语句 语法语法 if condition code to be executed if condition is true elseif condition code to be executed if condition is true else code to be executed if condition is false 实例实例 如果当前日期是周五 下面的例子会输出 Have a nice weekend 如果是周日 则输出 Have a nice Sunday 否则输出 Have a nice day 4 44 4SwitchSwitch 语句语句 如果您希望有选择地执行若干代码块之一 请使用 Switch 语句 使用 Switch 语句可以避免冗长的 if elseif else 代码块 语法语法 switch expression case label1 code to be executed if expression label1 break case label2 code to be executed if expression label2 break default code to be executed if expression is different from both label1 and label2 实例实例 工作原理 1 对表达式 通常是变量 进行一次计算 2 把表达式的值与结构中 case 的值进行比较 3 如果存在匹配 则执行与 case 关联的代码 4 代码执行后 breakbreak 语句语句阻止代码跳入下一个 case 中继续执行 5 如果没有 case 为真 则使用 default 语句 本章小结 Xxx Xxx Xxx 第第 5 5 章章 PHPPHP 数组和循环数组和循环 本章学习目标本章学习目标 了解什么是数组 了解什么是数组 学习数值数组学习数值数组 学习关联数组学习关联数组 学习多维数组学习多维数组 了解什么是循环了解什么是循环 学习学习 while 语句语句 学习学习 do while 语句语句 学习学习 for 语句语句 学习学习 foreach 语句语句 第 11 章 触发器 本章简介本章简介 数组能够在单独的变量名中存储一个或多个值 PHP 中的循环语句用于执行相同的代码块指定的次数 5 15 1什么是数组 什么是数组 在使用 PHP 进行开发的过程中 或早或晚 您会需要创建许多相似的变量 无需很多相似的变量 你可以把数据作为元素存储在数组中 数组中的元素都有自己的 ID 因此可以方便地访问它们 有三种数组类型 有三种数组类型 数值数组数值数组 带有数字 ID 键的数组 关联数组关联数组 数组中的每个 ID 键关联一个值 多维数组多维数组 包含一个或多个数组的数组 5 25 2数值数组数值数组 数值数组存储的每个元素都带有一个数字 ID 键 可以使用不同的方法来创建数值数组 例子例子 1 1 在这个例子中 会自动分配 ID 键 names array Peter Quagmire Joe 例子例子 2 2 在这个例子中 我们人工分配的 ID 键 names 0 Peter names 1 Quagmire names 2 Joe 可以在脚本中使用这些 ID 键 以上代码的输出 Quagmire and Joe are Peter s neighbors 5 35 3关联数组关联数组 关联数组 它的每个 ID 键都关联一个值 在存储有关具体命名的值的数据时 使用数值数组不是最好的做法 通过关联数组 我们可以把值作为键 并向它们赋值 例子例子 1 1 在本例中 我们使用一个数组把年龄分配给不同的人 第 11 章 触发器 ages array Peter 32 Quagmire 30 Joe 34 例子例子 2 2 本例与例子 1 相同 不过展示了另一种创建数组的方法 ages Peter 32 ages Quagmire 30 ages Joe 34 可以在脚本中使用 ID 键 以上脚本的输出 Peter is 32 years old 5 45 4多维数组多维数组 在多维数组中 主数组中的每个元素也是一个数组 在子数组中的每个元素也可以是数组 以此类推 例子例子 1 1 在本例中 我们创建了一个带有自动分配的 ID 键的多维数组 families array Griffin array Peter Lois Megan Quagmire array Glenn Brown array Cleveland Loretta Junior 如果输出这个数组的话 应该类似这样 Array Griffin Array 0 Peter 1 Lois 2 Megan Quagmire Array 第 11 章 触发器 0 Glenn Brown Array 0 Cleveland 1 Loretta 2 Junior 例子例子 2 2 让我们试着显示上面的数组中的一个单一的值 echo Is families Griffin 2 a part of the Griffin family 以上代码的输出 Is Megan a part of the Griffin family 5 55 5循环循环 在您编写代码时 您经常需要让相同的代码块运行很多次 您可以在代码中使用循环语句来完成这个任务 在 PHP 中 我们可以使用下列循环语句 whilewhile 只要指定的条件成立 则循环执行代码块 do whiledo while 首先执行一次代码块 然后在指定的条件成立时重复这个循环 forfor 循环执行代码块指定的次数 foreachforeach 根据数组中每个元素来循环代码块 5 65 6whilewhile 语句语句 只要指定的条件成立只要指定的条件成立 while 语句将重复执行代码块 语法语法 while condition code to be executed 例子例子 下面的例子示范了一个循环 只要变量 i 小于或等于 5 代码就会一直循环执行下去 循环每循环一次 变量就会递增 1 php i 1 while i 5 echo The number is i i 第 11 章 触发器 5 75 7do whiledo while 语句语句 do while 语句会至少执行一次代码至少执行一次代码 然后 只要条件成立只要条件成立 就会重复进行循环 语法语法 do code to be executed while condition 例子例子 下面的例子将对 i 的值进行一次累加 然后 只要 i 小于 5 的条件成立 就会继续累加下去 php i 0 do i echo The number is i while i 5 85 8forfor 语句语句 如果您已经确定了代码块的重复执行次数 则可以使用 for 语句 语法语法 for initialization condition increment code to be executed 注释 注释 for 语句有三个参数 第一个参数初始化变量 第二个参数保存条件 第三个参数包含执行循环所需 的增量 如果 initialization 或 increment 参数中包括了多个变量 需要用逗号进行分隔 而条件必须 计算为 true 或者 false 例子例子 下面的例子会把文本 Hello World 显示 5 次 php for i 1 i 5 i echo Hello World 第 11 章 触发器 5 95 9foreachforeach 语句语句 foreach 语句用于循环遍历数组 每进行一次循环 当前数组元素的值就会被赋值给 value 变量 数组指针会逐一地移动 以此类推 语法语法 foreach array as value code to be executed 例子例子 下面的例子示范了一个循环 这个循环可以输出给定数组的值 php arr array one two three foreach arr as value echo Value value 本章小结本章小结 事务能够完成对数据的有效 安全的修改操作 使数据库中的数据达到一个数据一致的状态 通常 由高级数据库操纵语言或编程语言 如 SQL C 或 Java 书写的用户程序的执行所引起 并用形 如 begin transaction 和 end transaction 语句 或函数调用 来界定 事务由事务开始 begin transaction 和 事务结束 end transaction 之间执行的全体操作组成 并发事务主要解决用户读与写不一致的问题 Oracle 用锁解决这个问题 当执行 Insert Delete Update 操作时 Oracle 会自动加行锁 即对改动的行加锁 事务结束时解锁 当遇 到死锁时 Oracle 会检测到死锁 应该对其中一个事务进行回退 以解开死锁 正常提交 根据保护的对象不同 Oracle 数据库锁可以分为以下几大类 DML 锁 data locks 数据锁 用于保护数据的完整性 DDL 锁 dictionary locks 字典锁 用于保护数据库对象的结构 如表 索引等的结构定义 内部锁和闩 internal locks and latches 保护数据库的内部结构 当两个用户希望持有对方的资源时就会发生死锁 即两个用户互相等待对方释放资源时 oracle 认 定为产生了死锁 在这种情况下 将以牺牲一个用户作为代价 另一个用户继续执行 牺牲的用户 的事务将回滚 第第 6 6 章章 PHPPHP 函数和表单函数和表单 本章学习目标本章学习目标 什么是什么是 PHP 函数函数 学习创建学习创建 PHP 函数函数 学习使用学习使用 PHP 函数函数 第 11 章 触发器 学习学习 PHP 函数函数 添加参数添加参数 学习学习 PHP 函数函数 返回值返回值 学习学习 PHP 表单处理和验证表单处理和验证 本章简介本章简介 PHP 的真正威力源自于它的函数 在 PHP 中 提供了超过 700 个内建的函数 PHP 的 GET 和 POST 用于检索表单中的值 比如用户输入 6 16 1PHPPHP 函数函数 在本教程中 我们将为您讲解如何创建自己的函数 如需内建函数的参考和实例 请访问我们的 PHP 参考手册 6 26 2创建创建 PHPPHP 函数函数 函数是一种可以在任何被需要的时候执行的代码块 创建创建 PHPPHP 函数 函数 1 所有的函数都使用关键词 function 来开始 2 命名函数 函数的名称应该提示出它的功能 函数名称以字母或下划线开头 3 添加 开口的花括号之后的部分是函数的代码 4 插入函数代码 5 添加一个 函数通过关闭花括号来结束 例子例子 一个简单的函数 在其被调用时能输出我的名称的 6 36 3使用使用 PHPPHP 函数函数 现在 我们要在 PHP 脚本中使用这个函数了 php function writeMyName echo David Yang echo Hello world echo My name is writeMyName echo That s right writeMyName echo is my name 以上代码的输出 Hello world My name is David Yang That s right David Yang is my name 6 46 4PHPPHP 函数函数 添加参数添加参数 我们的第一个函数是一个非常简单的函数 它只能输出一个静态的字符串 通过可以添加参数 我们向函数添加更多的功能 参数类似一个变量 您可能注意到了 函数名称后面有一个括号 比如 writeMyName 参数就是在括号中规定的 例子例子 1 1 下面的例子讲输出不同的名字 但姓是相同的 php function writeMyName fname echo fname Yang echo My name is writeMyName David 第 11 章 触发器 echo My name is writeMyName Mike echo My name is writeMyName John 上面的代码的输出 My name is David Yang My name is Mike Yang My name is John Yang 例子例子 2 2 下面的函数有两个参数 php function writeMyName fname punctuation echo fname Yang punctuation echo My name is writeMyName David echo My name is writeMyName Mike echo My name is writeMyName John 上面的代码的输出 My name is David Yang My name is Mike Yang My name is John Yang PHPPHP 函数函数 返回值返回值 函数也能用于返回值 例子例子 以上代码的输出 1 16 17 6 56 5PHPPHP 表单处理表单处理 表单实例 表单实例 Name Age 上面的 HTML 页面实例包含了两个输入框和一个提交按钮 当用户填写该表单并单击提交按钮时 表单的数 据会被送往 welcome php 这个文件 welcome php welcome php 文件类似这样 文件类似这样 Welcome You are years old 上面这个脚本的输出样本类似这样 Welcome John You are 28 years old 我们将在下一章解释 PHP GET 和 POST 6 66 6表单验证表单验证 应该在任何可能的时候对用户输入进行验证 客户端的验证速度更快 并且可以减轻服务器的负载 不过 任何流量很高以至于不得不担心服务器资源的站点 也有必要担心站点的安全性 如果表单访问的是 数据库 就非常有必要采用服务器端的验证 在服务器验证表单的一种好的方式是 把表单传给它自己 而不是跳转到不同的页面 这样用户就可以在同 一张表单页面得到错误信息 用户也就更容易发现错误了 本章小结本章小结 Oracle 数据库的权限分成系统权限和对象权限 只有具有相应权限的用户才能进行相应的操作 通过向用户授予或回收权限的角色 就能控制用户 在数据库中能做什么和不能做什么 Oracle 数据库预定义了许多角色 但根据实际应用的需要 可以创建新的角色 对象权限是指访问其它模式对象的权利 它用于控制一个用户对另一个用户的访问 角色 role 是对权限进行集中管理 安排 授予 回收 的一种方法 它是一组相关权限的组合 即将 不同的权限集中在一起就形成了角色 权限 privilege 是 Oracle 数据库定义好的执行某些操作的能力 角色 role 是权限管理的一种工具 第 11 章 触发器 即有名称的权限集合 权限和角色是密不可分的 第第 7 7 章章 PHPPHP GET GET 和和 PHPPHP POST POST 本章学习目标本章学习目标 学习学习 GET 变量和了解为什么使用变量和了解为什么使用 GET 学习学习 POST 变量和了解为什么使用变量和了解为什么使用 POST 学习学习 REQUEST 变量 变量 本章简介本章简介 GET 变量用于收集来自 method get 的表单中的值 POST 变量用于收集来自 method post 的表单中的值 7 17 1 GET GET 变量变量 GET 变量是一个数组 内容是由 HTTP GET 方法发送的变量名称和值 GET 变量用于收集来自 method get 的表单中的值 从带有 GET 方法的表单发送的信息 对任何人都 是可见的 会显示在浏览器的地址栏 并且对发送的信息量也有限制 最多 100 个字符 例子例子 Name Age 当用户点击提交按钮时 发送的 URL 会类似这样 echo echo date Y m d echo echo date Y m d 以上代码的输出类似这样 2006 07 11 2006 07 11 2006 07 11 8 48 4PHP 日期日期 添加时间戳添加时间戳 date 函数的第二个参数规定了一个时间戳 此参数是可选的 如果您没有提供时间戳 当前的时间将 被使用 在我们的例子中 我们将使用 mktime 函数为明天创建一个时间戳 mktime 函数可为指定的日期返回 Unix 时间戳 语法语法 mktime hour minute second month day year is dst 如需获得某一天的时间戳 我们只要设置 mktime 函数的 day 参数就可以了 以上代码的输出类似这样 明天是 2006 07 12 8 58 5服务器端引用 服务器端引用 ServerServer SideSide IncludesIncludes 通过 include 或 require 函数 您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内 容 除了它们处理错误的方式不同之外 这两个函数在其他方面都是相同的 include 函数会生成一个警 告 但是脚本会继续执行 而 require 函数会生成一个致命错误 fatal error 在错误发生后脚本 会停止执行 这两个函数用于创建可在多个页面重复使用的函数 页眉 页脚或元素 这会为开发者节省大量的时间 这意味着您可以创建供所有网页引用的标准页眉或菜单文件 当页眉需 要更新时 您只更新一个包含文件就可以了 或者当您向网站添加一张新页面时 仅仅需要修改一下菜单文 件 而不是更新所有网页中的链接 8 68 6include include 函数函数 include 函数可获得指定文件中的所有文本 并把文本拷贝到使用 include 函数的文件中 例子例子 1 1 假设您拥有一个标准的页眉文件 名为 header php 如需在页面中引用这个页眉文件 请使用 include 函数 就像这样 Welcome to my home page 第 11 章 触发器 Some text 例子例子 2 2 现在 假设我们有一个在所有页面上使用的标准菜单文件 请看下面这个 menu php Home About Us Contact Us 三个文件 default php about php 以及 contact php 都引用了 menu php 文件 这是 default php 中的代码 Welcome to my home page Some text 如果您在浏览器中查看 default php 的源代码 应该类似这样 Home About Us Contact Us Welcome to my home page Some text 同时 当然 我们也将用相同的方法处理 about php 和 contact php 通过使用引用文件 在您 需要重命名链接 更改链接顺序或向站点添加另一张网页时 只要简单地更新 menu php 文件中的文本即 可 8 78 7require require 函数函数 require 函数与 include 相同 不同的是它对错误的处理方式 include 函数会生成一个警告 但是脚本会继续执行 而 require 函数会生成一个致命错误 fatal error 在错误发生后脚本会停止执行 如果在您通过 include 引用文件时发生了错误 会得到类似下面这样的错误消息 PHPPHP 代码 代码 错误消息 错误消息 Warning include wrongFile php function include failed to open stream 第 11 章 触发器 No such file o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论