欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第6章PHP 与WEB页面交互ppt课件.pptx

    • 资源ID:16977618       资源大小:1.64MB        全文页数:81页
    • 资源格式: PPTX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章PHP 与WEB页面交互ppt课件.pptx

    第6章 PHP 与WEB页面交互M7-1 LinuxM7-1 Linux系统系统WEBWEB服务安装与配置服务安装与配置第第6 6章章 PHP PHP 与与WEBWEB页面交互页面交互陈学平陈学平PHP程序设计基础第第6 6章章 PHP PHP 与与WEBWEB页面交互页面交互 本章主要介绍本章主要介绍PHP的超全局变量的超全局变量$GLOBALS、$_SERVER、 $_REQUEST、$_POST、 $_GET,其中,其中$_REQUEST、$_POST、 $_GET与表单内容传送有紧密联系,表单提交需要通过这几个变量来与表单内容传送有紧密联系,表单提交需要通过这几个变量来进行传值,本章还重点介绍了表单数据的必填值判断和数据有效性判进行传值,本章还重点介绍了表单数据的必填值判断和数据有效性判断,给出了详细的实例。断,给出了详细的实例。 学习目标学习目标 了解了解PHP超级全局变量的种类。超级全局变量的种类。 掌握掌握PHP超级全局变量中的超级全局变量中的$GLOBALS、$_SERVER、 $_REQUEST 、 $_POST 、 $_GET的区别及使用方法。的区别及使用方法。 掌握掌握PHP 表单元素的实现方法。表单元素的实现方法。 掌握掌握PHP表单实现必填字段验证的方法。表单实现必填字段验证的方法。 掌握掌握PHP 验证表单数据符合有效规则的方法。验证表单数据符合有效规则的方法。PHP程序设计基础6.1 PHP超级全局变量超级全局变量 PHP中预定义了几个超级全局变量(中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本,这意味着它们在一个脚本的全部作用域中都可用。不需要特别说明,就可以在函数及类中使用。的全部作用域中都可用。不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表超级全局变量列表: $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION 本章将讲解几个常用的超级全局变量本章将讲解几个常用的超级全局变量PHP程序设计基础6.1.1 PHP $GLOBALS$GLOBALS 是是PHP的一个超级全局变量组,在一个的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。脚本的全部作用域中都可以访问。$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。以下实例介绍了如何使用超级全局变量以下实例介绍了如何使用超级全局变量 $GLOBALS:实例实例1 $GLOBALS的使用的使用实例代码如下:实例代码如下:运行实例运行实例 100以上实例中以上实例中 z 是一个是一个$GLOBALS数组中的超级全局变量,该变量同样可以在函数外访问。数组中的超级全局变量,该变量同样可以在函数外访问。PHP程序设计基础6.1.2 PHP $_SERVER $_SERVER 是一个包含了诸如头信息是一个包含了诸如头信息(header)、路径、路径(path)、以及脚本、以及脚本位置位置(script locations)等等信息的数组。这个数组中的项目由等等信息的数组。这个数组中的项目由 Web 服务服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。些,或者提供一些没有在这里列举出来的项目。 以下实例中展示了如何使用以下实例中展示了如何使用$_SERVER中的元素中的元素:PHP程序设计基础6.1.2 PHP $_SERVER实例实例2 $_SERVER的使用的使用实例代码如下:实例代码如下:?php echo $_SERVERPHP_SELF;echo ;echo $_SERVERSERVER_NAME;echo ;echo $_SERVERHTTP_HOST;echo ;echo $_SERVERHTTP_REFERER;echo ;echo $_SERVERHTTP_USER_AGENT;echo ;echo $_SERVERSCRIPT_NAME;?PHP程序设计基础6.1.2 PHP $_SERVER 运行如果运行如果 /6/2.PHPlocalhostlocalhostMozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36/6/2.PHPPHP程序设计基础6.1.3 PHP $_REQUEST PHP 的的$_REQUEST 用于收集用于收集HTML表单提交的数据。表单提交的数据。 以下实例显示了一个输入字段(以下实例显示了一个输入字段(input)及提交按钮)及提交按钮(submit)的表单的表单(form)。 当用户通过单击当用户通过单击 Submit 按钮提交表单数据时按钮提交表单数据时, 表单数据将表单数据将发送至发送至标签中标签中 action 属性中指定的脚本文件。属性中指定的脚本文件。 在这个实例中,在这个实例中,指定文件来处理表单数据。如果希望其他的指定文件来处理表单数据。如果希望其他的PHP文件来处理该数据,文件来处理该数据,可以修改该指定的脚本文件名,使用超级全局变量可以修改该指定的脚本文件名,使用超级全局变量 $_REQUEST 来收来收集表单中的集表单中的 input 字段数据字段数据:PHP程序设计基础6.1.3 PHP $_REQUEST实例实例3 $_REQUEST 的使用的使用实例代码如下:实例代码如下:form method=post action=Name: 运行结果运行结果PHP程序设计基础6.1.4 PHP $_POST PHP的的 $_POST 被广泛应用于收集表单数据,在被广泛应用于收集表单数据,在HTML form标签的指标签的指定该属性:定该属性:method=post。 以下实例显示了一个输入字段(以下实例显示了一个输入字段(input)及提交按钮)及提交按钮(submit)的表单的表单(form)。 当用户通过单击当用户通过单击 Submit 按钮提交表单数据时按钮提交表单数据时, 表单数据将表单数据将发送至发送至标签中标签中 action 属性中指定的脚本文件。属性中指定的脚本文件。 在这个实例中,在这个实例中,指定文件来处理表单数据。如果希望其他的指定文件来处理表单数据。如果希望其他的PHP文件来处理该数据,文件来处理该数据,可以修改该指定的脚本文件名,使用超级全局变量可以修改该指定的脚本文件名,使用超级全局变量 $_POST 来收集表来收集表单中的单中的 input 字段数据字段数据:PHP程序设计基础6.1.4 PHP $_POST实例实例4 $_POST的使用的使用实例代码如下:实例代码如下:form method=post action=Name: 运行结果运行结果PHP程序设计基础6.1.5 PHP $_GET $_GET 同样被广泛应用于收集表单数据,在同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:标签的指定该属性:method=get。 $_GET 也可以收集也可以收集URL中发送的数据。中发送的数据。 假定有一个包含参数的超链接假定有一个包含参数的超链接HTML页面:页面: Test $GET 当用户单击链接当用户单击链接 Test $GET, 参数参数 subject 和和 web 将发送至将发送至test_get.php,可以在可以在 test_get.php 文件中使用文件中使用 $_GET 变量来获取这些数据。变量来获取这些数据。 以下实例显示了以下实例显示了 test_get.php 文件的代码文件的代码:PHP程序设计基础6.1.5 PHP $_GET实例实例5 $_GET的使用的使用实例代码如下:实例代码如下:测试测试 $_GET显示如下显示如下PHP程序设计基础6.2 PHP表单和用户输入表单和用户输入 PHP 中的中的 $_GET 和和 $_POST 变量用于检索表单中的信息,比如用户变量用于检索表单中的信息,比如用户输入。输入。PHP程序设计基础6.2.1 PHP表单处理表单处理有一点很重要的事情值得注意,当处理有一点很重要的事情值得注意,当处理 HTML 表单时,表单时,PHP 能把来自能把来自 HTML 页面中的表单元素自动变成可供页面中的表单元素自动变成可供 PHP 脚本使用。脚本使用。实例实例6-1 PHP表单前端页面表单前端页面实例代码如下:实例代码如下:下面的实例包含了一个下面的实例包含了一个 HTML 表单,带有两个输入框和一个提交按钮。表单,带有两个输入框和一个提交按钮。form.html 文件代码:文件代码: 菜鸟教程菜鸟教程 名字名字: 年龄年龄: 当用户填写完上面的表单并单击提交按钮时,表单的数据会被送往名为当用户填写完上面的表单并单击提交按钮时,表单的数据会被送往名为 welcome.php 的的 PHP 文件:文件:PHP程序设计基础6.2.1 PHP表单处理表单处理实例实例6-2 PHP表单获取数据页面表单获取数据页面 实例代码如下:实例代码如下: welcome.php 文件代码:文件代码: 欢迎欢迎! 你的年龄是你的年龄是 岁。岁。 通过浏览器访问演示结果:通过浏览器访问演示结果: 当在表单页面输入姓名和年龄时,可以得到访问者的姓名年龄。如图当在表单页面输入姓名和年龄时,可以得到访问者的姓名年龄。如图6-1所示。所示。 欢迎陈学平欢迎陈学平!你的年龄是你的年龄是 50 岁。岁。 图图6-1 测试结果测试结果PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据1.PHP 下拉菜单单选下拉菜单单选 以下实例设置了下拉菜单三个选项,表单使用以下实例设置了下拉菜单三个选项,表单使用 GET 方式获取数据,方式获取数据,action 属性值为空表示提交到当前脚本,通过属性值为空表示提交到当前脚本,通过 select 的的 name 属性获取属性获取下拉菜单的值:下拉菜单的值:PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据1.PHP 下拉菜单单选下拉菜单单选实例实例7 实现实现PHP下拉菜单单选下拉菜单单选实例代码如下:实例代码如下:php_form_select.php 文件代码:文件代码:?php $q = isset($_GETq)? htmlspecialchars($_GETq) : ; if($q) if($q =RUNOOB) echo 菜鸟教程菜鸟教程http:/; else if($q =GOOGLE) echo Google 搜索搜索http:/; else if($q =TAOBAO) echo 淘宝淘宝http:/; else ?PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据1.PHP 下拉菜单单选下拉菜单单选 选 择 一 个 站 点选 择 一 个 站 点 : Runoob Google Taobao 显示结果如图显示结果如图6-2所示所示 图图6-2 测试结果测试结果PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据2.PHP 下拉菜单多选下拉菜单多选 如果下拉菜单是多选的(如果下拉菜单是多选的( multiple=multiple),可以通过将设置),可以通过将设置 select name=q 以数组的方式获取,以下使用以数组的方式获取,以下使用 POST 方式提交,代方式提交,代码如下所示:码如下所示: php_form_select_mul.php 文件代码:文件代码:PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据2.PHP 下拉菜单多选下拉菜单多选实例实例8 实现实现PHP 下拉菜单多选下拉菜单多选实例代码如下:实例代码如下: 菜鸟教程菜鸟教程: http:/, GOOGLE = Google 搜索搜索: http:/, TAOBAO = 淘宝淘宝: http:/, ); foreach($q as $val) / PHP_EOL 为常量,用于换行为常量,用于换行 echo $sites$val . PHP_EOL; else ?PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据2.PHP 下拉菜单多选下拉菜单多选 选择一个站点选择一个站点: Runoob Google Taobao 输出结果如图输出结果如图6-3所示。所示。图图6-3 输出结果输出结果PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据3.PHP单选按钮单选按钮PHP 单选按钮表单中单选按钮表单中 name 属性的值是一致的,属性的值是一致的,value 值是不同的,代码如下所示:值是不同的,代码如下所示:php_form_radio.php 文件代码:文件代码:实例实例9 实现实现PHP单选按钮单选按钮实例代码如下:实例代码如下:?php $q = isset($_GETq)? htmlspecialchars($_GETq) : ; if($q) if($q =RUNOOB) echo 菜鸟教程菜鸟教程http:/; else if($q =GOOGLE) echo Google 搜索搜索http:/; else if($q =TAOBAO) echo 淘宝淘宝http:/; else ?PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据3.PHP单选按钮单选按钮 Runoob Google Taobao 输出结果如图输出结果如图6-4所示所示 图图6-4 单选按钮单选按钮PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据4.PHP的的checkbox 复选框复选框PHP checkbox 复选框可以选择多个值:复选框可以选择多个值:php_form_select_checkbox.php 文件代码:文件代码:实例实例10 实现实现PHP复选框复选框实例代码如下:实例代码如下: 菜鸟教程菜鸟教程: http:/, GOOGLE = Google 搜索搜索: http:/, TAOBAO = 淘宝淘宝: http:/, ); foreach($q as $val) / PHP_EOL 为常量,用于换行为常量,用于换行 echo $sites$val . PHP_EOL; else ?PHP程序设计基础6.2.2 PHP 获取下拉菜单的数据获取下拉菜单的数据4.PHP的的checkbox 复选框复选框 Runoob Google Taobao 输出结果如图输出结果如图6-5所示。所示。 图图6-5 复选按钮复选按钮PHP程序设计基础6.2.3 表单验证表单验证 在任何时候对用户输入进行验证(通过客户端脚本),可以让浏览器在任何时候对用户输入进行验证(通过客户端脚本),可以让浏览器验证速度更快,并且可以减轻服务器的负载。验证速度更快,并且可以减轻服务器的负载。 如果用户输入需要插入数据库,应该使用服务器验证。在服务器验证如果用户输入需要插入数据库,应该使用服务器验证。在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。易发现错误了。 本节将介绍如何使用本节将介绍如何使用PHP验证客户端提交的表单数据。验证客户端提交的表单数据。PHP程序设计基础6.2.3 表单验证表单验证1. PHP 表单验证表单验证 在处理在处理PHP表单时需要考虑安全性。为了防止黑客及垃圾信息需要对表单时需要考虑安全性。为了防止黑客及垃圾信息需要对表单进行数据安全验证。表单进行数据安全验证。 本节介绍的本节介绍的HTML表单中包含以下输入字段:表单中包含以下输入字段: 必须与可选文本字段,必须与可选文本字段,单选按钮,及提交按钮:显示效果如图单选按钮,及提交按钮:显示效果如图6-6所示。所示。 图图6-6 显示效果显示效果 该页面的代码如下:该页面的代码如下:PHP程序设计基础6.2.3 表单验证表单验证实例实例11 PHP表单验证表单验证实例代码如下:实例代码如下: 菜鸟教程菜鸟教程.error color: #FF0000; PHP程序设计基础6.2.3 表单验证表单验证实例实例11 PHP表单验证表单验证PHP程序设计基础6.2.3 表单验证表单验证实例实例11 PHP表单验证表单验证PHP表单验证实例*必需字段。formmethod=postaction=名字:inputtype=textname=namevalue=*E-mail:inputtype=textname=emailvalue=*网址:inputtype=textname=websitevalue=备注:性别:inputtype=radioname=gendervalue=female女inputtype=radioname=gendervalue=male男*PHP程序设计基础6.2.3 表单验证表单验证实例实例11 PHP表单验证表单验证?phpecho您输入的内容是:;echo$name;echo;echo$email;echo;echo$website;echo;echo$comment;echo;echo$gender;?输入数据测试,效果如图6-7、6-8所示PHP程序设计基础6.2.3 表单验证表单验证2.表单验证规则表单验证规则首先看看纯HTML的表单代码:文本字段名字,E-mail,及网址字段为文本输入元素,备注字段是textarea。HTML代码如下所示:“名字”:E-mail:网址:备注:单选按钮性别字段是单选按钮,HTML代码如下所示:性别:女男表单元素HTML表单代码如下所示:formmethod=postaction=该表单使用method=post方法来提交数据。PHP程序设计基础6.2.4 $_SERVERPHP_SELF 变量变量 $_SERVERPHP_SELF是超级全局变量,返回当前正在执行脚本的是超级全局变量,返回当前正在执行脚本的文件名,与文件名,与 document root相关。相关。 $_SERVERPHP_SELF 会发送表会发送表单数据到当前页面,而不是跳转到不同的页面。单数据到当前页面,而不是跳转到不同的页面。PHP程序设计基础6.2.5 htmlspecialchars()方法方法 htmlspecialchars() 函数把一些预定义的字符转换为函数把一些预定义的字符转换为 HTML 实体。实体。 预定义的字符是:预定义的字符是: & (和号)(和号) 成为成为 & (双引号)(双引号) 成为成为 " (单引号)(单引号) 成为成为 ' (大于)(大于) 成为成为 >PHP程序设计基础6.2.6 PHP表单注意事项表单注意事项$_SERVERPHP_SELF 变量有可能会被黑客使用。当黑客使用跨网站脚本的变量有可能会被黑客使用。当黑客使用跨网站脚本的HTTP链接来攻击时,链接来攻击时,$_SERVERPHP_SELF服务器变量也会被植入脚本。原因就是跨网站脚本是附在执行文件的路径后面的,因此服务器变量也会被植入脚本。原因就是跨网站脚本是附在执行文件的路径后面的,因此$_SERVERPHP_SELF的字符串就会包含的字符串就会包含HTTP链接后面的链接后面的JavaScript程序代码。程序代码。XSS又叫又叫 CSS (Cross-Site Script) ,跨站脚本攻击。恶意攻击者往跨站脚本攻击。恶意攻击者往Web页面里插入恶意页面里插入恶意html代码,当用户浏览该页之代码,当用户浏览该页之时,嵌入其中时,嵌入其中Web里面的里面的html代码会被执行,从而达到恶意用户的特殊目的。代码会被执行,从而达到恶意用户的特殊目的。指定以下表单文件名为指定以下表单文件名为 test_form.php:form method=post action=现在,使用现在,使用URL来指定提交地址来指定提交地址 test_form.php,以上代码修改为如下所示以上代码修改为如下所示:这样做就很好了。但是,考虑到用户会在浏览器地址栏中输入以下地址这样做就很好了。但是,考虑到用户会在浏览器地址栏中输入以下地址:http:/ URL 中,将被解析为如下代码并执行:中,将被解析为如下代码并执行:alert(hacked)请注意,请注意, 任何任何JavaScript代码可以添加在代码可以添加在标签中,标签中, 黑客可以利用这点重定向页面到另外一台服务器的页面黑客可以利用这点重定向页面到另外一台服务器的页面上,页面上,页面 代码文件中可以保护恶意代码,代码可以修改全局变量或者获取用户的表单数据。代码文件中可以保护恶意代码,代码可以修改全局变量或者获取用户的表单数据。PHP程序设计基础6.2.7 避免避免 $_SERVERPHP_SELF 被利用被利用 $_SERVERPHP_SELF 可以通过可以通过 htmlspecialchars() 函数来避免被函数来避免被利用。利用。 form 代码如下所示:代码如下所示: form method=post action= htmlspecialchars() 把一些预定义的字符转换为把一些预定义的字符转换为 HTML 实体。实体。 现在如果用户想利用现在如果用户想利用 PHP_SELF 变量变量, 结果将输出如下所示:结果将输出如下所示: 尝试该漏洞失败!尝试该漏洞失败!PHP程序设计基础6.2.8 使用使用 PHP 验证表单数据验证表单数据1. PHP验证表单数据的函数验证表单数据的函数PHPPHP验证表单数据的函数介绍如下:验证表单数据的函数介绍如下:通过通过 PHP PHP 的的 htmlspecialchars() htmlspecialchars() 函数处理用户所有提交的数据。函数处理用户所有提交的数据。当使用当使用 htmlspecialchars() htmlspecialchars() 函数时,在用户尝试提交以下文本域函数时,在用户尝试提交以下文本域: :location.href(http:/)location.href(http:/)该代码将不会被执行,因为它会被保存为该代码将不会被执行,因为它会被保存为HTMLHTML转义代码,如下所示:转义代码,如下所示:<script>location.href(http:/)</script><script>location.href(http:/)</script>以上代码是安全的,可以正常在页面显示或者插入邮件中。以上代码是安全的,可以正常在页面显示或者插入邮件中。当用户提交表单时,将做以下两件事情:当用户提交表单时,将做以下两件事情:使用使用 PHP trim() PHP trim() 函数去除用户输入数据中不必要的字符函数去除用户输入数据中不必要的字符 ( (如:空格,如:空格,tabtab,换行,换行) )。使用使用PHP stripslashes()PHP stripslashes()函数去除用户输入数据中的反斜杠函数去除用户输入数据中的反斜杠 ()()接下来将这些过滤的函数写在一个自己定义的函数中,这样可以大大提高代码的复用性。接下来将这些过滤的函数写在一个自己定义的函数中,这样可以大大提高代码的复用性。将函数命名为将函数命名为 test_input()test_input()。PHP程序设计基础6.2.8 使用使用 PHP 验证表单数据验证表单数据2.test_input()函数来检测函数来检测 $_POST 中的所有变量中的所有变量实例实例12通过通过test_input()函数来检测函数来检测 $_POST 中的所有变量中的所有变量实例代码如下:实例代码如下:!DOCTYPEHTMLmetacharset=utf-8菜鸟教程菜鸟教程()()PHP程序设计基础6.2.8 使用使用 PHP 验证表单数据验证表单数据?php?PHP程序设计基础6.2.8 使用使用 PHP 验证表单数据验证表单数据PHPPHP 表单验证实例表单验证实例formform method=postmethod=post action=?phpaction=htmlspecialchars($_SERVERPHP_SELF);? 名字名字: : inputname=name E-mail:E-mail: inputname=email 网址网址: : inputname=website 备注备注: : textareacols=40 性别性别: : inputvalue=female女女 inputvalue=male男男 inputvalue=SubmitPHP程序设计基础6.2.8 使用使用 PHP 验证表单数据验证表单数据?php?phpechoecho 您输入的内容是您输入的内容是:;:;echoecho $name;$name;echoecho ;echoecho $email;$email;echoecho ;echoecho $website;$website;echoecho ;echoecho $comment;$comment;echoecho ;echoecho $gender;$gender;?运行效果如图运行效果如图6-96-9、6-106-10所示。所示。注意:在执行以上脚本时,会通过注意:在执行以上脚本时,会通过$_SERVERREQUEST_METHOD来检测表单是否被提交来检测表单是否被提交 。如果。如果 REQUEST_METHOD 是是 POST, 表单将被提交,表单将被提交, 数据将被验证。如果表单未提交将跳过验证并显示空白。数据将被验证。如果表单未提交将跳过验证并显示空白。在以上实例中使用输入项都是可选的,即使用户不输入任何数据也可以正常显示。在以上实例中使用输入项都是可选的,即使用户不输入任何数据也可以正常显示。下面将介绍如何对用户输入的数据进行验证。下面将介绍如何对用户输入的数据进行验证。PHP程序设计基础6.2.9 PHP表单必需字段验证表单必需字段验证 本节介绍如何设置表单必需字段及错误信息。本节介绍如何设置表单必需字段及错误信息。1.PHP必需字段必需字段 在上一节已经介绍了表单的验证规则,在上一节已经介绍了表单的验证规则, 名字名字, E-mail, 和和 性别性别 字段是必需的,各字段不能为空。字段是必需的,各字段不能为空。 在以下代码中加入了一些新的变量在以下代码中加入了一些新的变量: $nameErr, $emailErr, $genderErr, 和和 $websiteErr.。这些错误变量将显示在必需字段上。再为每个。这些错误变量将显示在必需字段上。再为每个$_POST变量增加了一个变量增加了一个if else语句。语句。 这些语句将检查这些语句将检查 $_POST 变量是变量是 否为空(使用否为空(使用php的的 empty() 函数)。函数)。如果为空,将显示对应的错误信息。如果为空,将显示对应的错误信息。 如果不为空,数据将传递给如果不为空,数据将传递给test_input() 函数:函数:PHP程序设计基础6.2.9 PHP表单必需字段验证表单必需字段验证必填字段的关键代码如下:必填字段的关键代码如下:?php/ ?PHP程序设计基础6.2.9 PHP表单必需字段验证表单必需字段验证2. PHP显示错误信息显示错误信息在在HTML实例表单中,为每个字段中添加了一些脚本,实例表单中,为每个字段中添加了一些脚本, 各个脚本会在信息输入错误时显示错误信息。各个脚本会在信息输入错误时显示错误信息。(如果用户未填写信息就提交表单则会输出错误信息如果用户未填写信息就提交表单则会输出错误信息):实例实例13 PHP表单必填字段判断表单必填字段判断实例代码如下:实例代码如下:!DOCTYPEHTMLmetacharset=utf-8菜鸟教程菜鸟教程.error.error color:color: #FF0000;#FF0000;PHP程序设计基础6.2.9 PHP表单必需字段验证表单必需字段验证实例实例13 PHP表单必填字段判断表单必填字段判断?php?PHP程序设计基础6.2.9 PHP表单必需字段验证表单必需字段验证实例实例13 PHP表单必填字段判断表单必填字段判断PHPPHP 表单验证实例表单验证实例spanclass=error* * 必填字段。必填字段。formform method=postmethod=post action=?phpaction=htmlspecialchars($_SERVERPHP_SELF);? 名字名字: : inputname=name spanclass=error* * ?php$nameErr;? E-mail:E-mail: inputname=email spanclass=error* * ?php$emailErr;? 网址网址: : inputname=website span$websiteErr;? 备注备注: : textareacols=40 性别性别: : inputvalue=female女女 inputvalue=male男男 spanclass=error* * ?php$genderErr;? inputvalue=SubmitPHP程序设计基础6.2.9 PHP表单必需字段验证表单必需字段验证实例实例13 PHP表单必填字段判断表单必填字段判断?php?phpechoecho 您的输入您的输入:;:;echoecho $name;$name;echoecho ;echoecho $email;$email;echoecho ;echoecho $website;$website;echoecho ;echoecho $comment;$comment;echoecho ;echoecho $gender;$gender;?测试如图测试如图6-116-11所示。所示。图图6-11测试效果测试效果先不输入内容,单击先不输入内容,单击submit,则出现,则出现 图图6-12提示提示图图 6-12 提示必填提示必填PHP程序设计基础6.2.10 PHP表单表单 验证邮件和验证邮件和URL本节介绍如何验证本节介绍如何验证 names(名称名称), e-mails(邮件)(邮件), 和和 URL。1.PHP 验证名称验证名称以下代码将通过简单的方式来检测以下代码将通过简单的方式来检测 name 字段是否包含字母和空格,如果字段是否包含字母和空格,如果 name 字段值不合法,将输出字段值不合法,将输出错误信息:错误信息:$name = test_input($_POSTname);if (!preg_match(/a-zA-Z *$/,$name) $nameErr = 只允许字母和空格只允许字母和空格; 说明如下:说明如下:preg_match 进行正则表达式匹配。进行正则表达式匹配。语法:语法:int preg_match ( string $pattern , string $subject , array $matches , int $flags )在在 subject 字符串中搜索与字符串中搜索与 pattern 给出的正则表达式相匹配的内容。如果提供了给出的正则表达式相匹配的内容。如果提供了 matches ,则其会被,则其会被搜索的结果所填充。搜索的结果所填充。$matches0 将包含与整个模式匹配的文本,将包含与整个模式匹配的文本,$matches1 将包含与第一个捕获的将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。括号中的子模式所匹配的文本,以此类推。PHP程序设计基础6.2.10 PHP表单表单 验证邮件和验证邮件和URL2.PHP 验证邮件验证邮件以下代码将通过简单的方式来检测以下代码将通过简单的方式来检测 e-mail e-mail 地址是否合法。如果地址是否合法。如果 e-mail e-mail 地址不合法,将输出错误信息:地址不合法,将输出错误信息:$email = test_input($_POSTemail);if (!preg_match(/(w-$email = test_input($_POSTemail);if (!preg_match(/(w-+w-+.w-+)/,$email) +w-+.w-+)/,$email) $emailErr = $emailErr = 非法邮箱格式非法邮箱格式; ; PHP程序设计基础6.2.10 PHP表单表单 验证邮件和验证邮件和URL3.PHP 验证验证 URL以下代码将检测以下代码将检测URLURL地址是否合法地址是否合法 ( (以下正则表达式运行以下正则表达式运行URLURL中含有破折号中含有破折号:-):-), 如果如果 URL URL 地址不合法,将输出错误信息:地址不合法,将输出错误信息:$ w e b s i t e = t e s t _ i n p u t ( $ _ P O S T w e b s i t e ) ; i f $ w e b s i t e = t e s t _ i n p u t ( $ _ P O S T w e b s i t e ) ; i f (!preg_match(/b(?:(?:https?|ftp):/|www.)-a-z0-(!preg_match(/b(?:(?:https?|ftp):/|www.)-a-z0-9+&#/%?=_|!:,.;9+&#/%?=_|!:,.;* *-a-z0-9+&#/%=_|/i,$website) -a-z0-9+&#/%=_|/i,$website) $websiteErr = $websiteErr = 非法的非法的 URL URL 的地址的地址; ; PHP程序设计基础6.2.10 PHP表单表单 验证邮件和验证邮件和URL4. PHP 验证验证 Name, E-mail, 和和 URL实例实例14 PHP验证姓名验证姓名Name、邮件、邮件E-mail和和 网址网址URL实例代码如下:实例代码如下:代码如下所示代码如下所示: :?php/ ?如图如图6-126-12、6-136-13、6-146-14、6-156-15所示。所示。图图6-12必填字段必填字段图图6-13非法邮件测试非法邮件测试图图6-14 正常输入测试正常输入测试图图6-15 测试数据结果测试数据结果PHP程序设计基础PHP程序设计基础PHP程序设计基础6.2.11 PHP完整表单实例完整表单实例 本节将介绍如何让用户在单击本节将介绍如何让用户在单击提交(提交(submit)按钮提交数据前保证按钮提交数据前保证所有字段正确输入。所有字段正确输入。1.PHP 在表单中确保输入值正确在表单中确保输入值正确 在用户单击提交按钮后,为确保字段值输入正确,在在用户单击提交按钮后,为确保字段值输入正确,在HTML的的input元元素中插添加素中插添加PHP脚本,脚本, 各字段名为各字段名为: name, email, 和和 website。 在备注在备注中的中的 textarea 字段中,将脚本放于字段中,将脚本放于 和和 标签之间标签之间。 PHP脚本输出值为:脚本输出值为: $name, $email, $website, 和

    注意事项

    本文(第6章PHP 与WEB页面交互ppt课件.pptx)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开