《教学课件任务4-服务器端获取数据.pptx》由会员分享,可在线阅读,更多相关《教学课件任务4-服务器端获取数据.pptx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教材配套资源页完整PPT课件教学课件任务4-服务器端获取数据1任务四 表单数据的提交n主要知识点n表单数据的验证n系统数组$_POST和$_GET在接收表单数据中的应用n系统数组$_FILES在上传文件中的应用24.2 表单数据提交n用户在表单界面中输入数据并进行合法性验证之后,必须要将数据提交给服务器,由服务器对这些数据做进一步的处理,例如,将注册的数据插入到数据库中,或者从数据库中查询登录的数据,或者查询用户需要的其他信息等等。n需要解决的关键问题(重点知识):n数据提交到服务器后存储在哪里?n如何在服务器端获取这些数据?34.2.1 系统内置数组$_POST和$_GETn服务器端将根据表
2、单标记中method属性的取值确定获取数据的方法n若method取值为post,则使用系统数组$_POST$_POST接收表单数据;若method取值为get,则使用系统数组$_GET$_GET接收表单数据,即一个表单所提交的数据总是以一个数组的方式保存在服务器中。n思考问题:n数组$_POST和$_GET的键名如何?如何访问并获取其中的数组元素?4访问系统数组$_POST或者$_GETn$_POST和$_GET都是关联数组,都需要通过键名来访问数组元素,在处理表单数据时,它们所使用的键名通常是表单元素name属性的取值,例如,若文本框中name=uname,则使用$_POSTuname可以获
3、取到该文本框提交到服务器端的数据。使用echo $_POSTuname或者echo $_POSTuname或者echo $_POSTuname即可输出用户提交的名字n再次强调放在双引号定界中的数组元素的写法n若是使用花括号定界,则元素键名必须使用单引号或双引号n若没有使用花括号定界,则元素键名不能使用引号定界5编辑4-1.php代码6思考问题:n问题1:能否独立运行4-1.php文件?为什么?该文件需要在何时运行?n问题2:如何做到点击页面4-1.html中的“提交”按钮时能够运行4-1.php文件?1. 4-1.php文件不能独立运行2. 该文件中使用的数组元素键名都是表单界面元素name属
4、性的值,独立运行时,这些元素不存在,键名不可使用3. 需要在运行4-1.html文件输入数据并点击提交按钮之后才能运算4-1.php文件7建立4-1.html和4-1.php文件之间的关联n建立关联的方法:在4-1.html文件的标记中增加action=4-1.php即可。n表单标记中的action属性的作用是设置一个服务器端的脚本文件,此处是php 文件,该文件用于获取并处理当前表单提交的数据,处理的方式是可以直接在浏览器中输出,也可以将其存储到数据库或其他文件中以备后用n问题演示与思考:n使用在文件夹中双击运行4-1.html文件,输入数据并提交,结果如何?为什么?8观察效果并思考问题n在
5、输出结果中,复选框组“你的兴趣爱好”部分显示的结果是什么?说明什么问题?如何解决这一问题即在服务器端如何获取和保存复选框组提交的数据?94.2.2 复选框组数据的提交n复选框组提交的数据在服务器端以一个数组的形式保存,4-1.html中因为表单form标记中method属性取值为post,复选框组名称为like,在服务器端使用$_POSTlike接收并保存复选框组提交的数据,$_POSTlike则以一个数组的形式存在n思考问题:n数组元素的个数如何确定?n数组元素的类型是什么?数组元素的个数取决于用户选择的复选框的个数,而不是复选框组中包含的复选框的个数该数组是一个索引数组,索引值从0开始,使
6、用$_POSTlike0可以获取到用户选择的第一个复选框所提交的数据,其它则以此类推。10复选框组数据的提交n例如,若用户选择的是“音乐”和“爬山”两项,则数组$_POSTlike有两个元素,元素$_POSTlike0的值是“音乐”,元素$_POSTlike1的值是“爬山”;n再如,若用户选择的是“看书”、“音乐”和“爬山”三项,则数组$_POSTlike有三个元素,元素$_POSTlike0的值是“看书”,元素$_POSTlike1的值是“音乐”,元素$_POSTlike2的值是“爬山”;11思考问题n若用户选择了“看书”和“爬山”两个选项,如何做到将两个选项数据使用变量$like保存为“看
7、书 爬山”?n若用户选择了“看书”、“音乐”和“爬山”三个选项,又如何做到将三个选项数据使用变量$like保存为“看书 音乐 爬山”?n说明:使用变量$like以上面形式保存选项数据的目的是可以直接使用 echo $like;输出复选框组提交的数据12函数implode()的应用n为了方便输出和保存,通常要将复选框组提交的多个数据合并到一个变量中,例如用户选择了看书、音乐和爬山,则设置变量$like= 看书 音乐 爬山n可使用函数implode()来完成,格式如下:nimplode(参数1,参数2):n参数1:指定在数组各个元素值之间的间隔字符n参数2:数组名称n使用指定的间隔字符将指定数组的
8、多个元素的值连接在一起,返回值为包含了所有元素及位于元素与元素之间的分割符的字符串13函数implode()示例和应用n函数implode()示例n$like=implode( ,$_POSTlike);n将数组$_POSTlike中各个元素的值使用空格字符间隔连接成一个长串n函数应用n修改4-1.php,对兴趣爱好部分内容使用implode()函数处理之后再做输出144.2.4 使用isset() 函数解决单选按钮和复选框的问题n观察效果:运行4-1.html页面文件时,若是用户没有选择性别就提交数据,会出现什么提示?若是没有选择兴趣爱好就提交数据,又会出现什么提示?n若是用户没有选择性别,
9、会出现下面的提示信息:nNotice: Undefined index: sex in E:apachehtdocsexam4-14-1.php on line 4n若是用户没有选择兴趣爱好,则会出现下面的提示信息:nNotice: Undefined index: like in E:apachehtdocsexam4-14-1.php on line 8 Warning: implode(): Invalid arguments passed in E:apachehtdocsexam4-14-1.php on line 815产生问题的原因及解决方案n产生问题的原因:n单选按钮或者复选框
10、都属于组元素,若是没有选择选项,相当于该组不存在,即$_POSTsex和$_POSTlike不存在,所以提示用户没有定义索引sex或者like。n解决方案:n使用这样的组元素之前,需要先判断一下该组是否存在,实现这一功能,要使用的函数是isset()。16isset()函数的功能、格式和返回值nisset()函数专门用于检测某个元素是否设置,函数格式如下:nbool isset(参数)n参数可以是一个普通变量,也可以是一个数组元素,若是变量或数组元素存在,则返回真值,否则返回假值。n思考问题:n代码isset($_POSTsex)的作用是什么?判断数组元素$_POSTsex是否存在,存在(即用户选择了选项)就返回真值,否则返回假值17使用isset()函数解决问题n使用isset()函数时因其返回值为真或假的特点,通常会将其作为if语句的条件,根据结果的真假来确定要进行的处理操作n在4-1.php文件中增加条件判断结构:n若用户选择了性别,就输出性别结果,否则输出“你没有选择性别”n若用户选择了兴趣爱好,就将所有兴趣爱好结果合并到一个变量中再输出,否则输出“你没有选择兴趣爱好”。18思考问题n若是要求用户必须选择性别和兴趣爱好,才能提交数据,如何完成?19本课件制作整理者:郭迎春 仅可用于教学、学习、交流使用 如内容、图片、字体等有侵权,请联系删除。 20