【前言】
今天开始总结PHP表单相关的知识点,在这里记录总结下,顺便为ppt教程取材
【概论】
主要知识点:
(1)表单元素的回顾;
(2)GET与POST区别;
(3)URL编码相关;
(4)表单数据处理相关;
【列表】
(1)表单元素总结回顾(前端);
(2) 数据处理(后端);
①表单验证;
②表单必填;
③表单URL/E-mail;
④表单完成;
(3)GET与POST对比;
【主体】
(1)表单元素总结回顾
①表单的作用?
用于搜集不同类型的用户输入
②表单元素有哪些?
不同类型的 input 元素、复选框、单选按钮、提交按钮等等。例如:
<input type="text"> 定义文本输入 <input type="radio"> 定义单选按钮 <input type="checkbox"> 定义多选按钮 <input type="submit"> 向表单处理程序(form-handler)提交表单的按钮
③属性有哪些?具体作用?
1.action 属性
定义在提交表单时执行的动作,通常,表单会被提交到 web 服务器上的网页,例如:
<form action="action_page.php">
在上面的例子中,指定了某个服务器脚本来处理被提交表单。如果省略 action 属性,则 action 会被设置为当前页面
2.Method 方法属性
规定在提交表单时所用的 HTTP 方法(GET 或 POST):
<form action="action_page.php" method="GET"> 或: <form action="action_page.php" method="POST">
3. GET方法(默认方法):
表单提交是被动的(比如搜索引擎查询),并且没有敏感信息。
当使用 GET 时,表单数据在页面地址栏中是可见的:
demo.php?firstname=秦&lastname=始皇
注意:GET 最适合少量数据的提交,浏览器会设定容量限制
4. POST方法
如果表单正在更新数据,或者包含敏感信息(例如密码)时,POST的安全性更佳,因为在页面地址栏中被提交的数据是不可见的
5. Name属性
规定识别表单的名称(对于 DOM 使用:document.forms.name)。如果要正确地被提交,每个输入字段必须设置一个 name 属性
下例只会提交 "Last name" 输入字段:
<form action="demo2.php" method="get"> First name:<br> <input type="text" value="海贼王"> <br> Last name:<br> <input type="text" name="lastname" value="漫画"> <br><br> <input type="submit" value="Submit"> </form>
action动作属性指定了demo2.php这个脚本来处理被提交表单,下面来看下demo2.php
<?php echo "我搜索的是" . $_GET['firstname'] . "的" . $_GET['lastname']; ?>
输出结果:我搜索的是漫画。---->因为未设置name属性,所以并未审查到first name输入的“海贼王”
6.<fieldset> 标签
组合表单中的相关数据,将表单内的相关元素分组,当一组表单元素放到 <fieldset> 标签内时,浏览器会以特殊方式来显示它们,它们可能有特殊的边界、3D 效果,或者甚至可创建一个子表单来处理这些元素。
7.<legend> 标签为 fieldset 元素定义标题
(2)数据处理
PHP超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)
①表单验证;
②表单必填;
③表单URL/E-mail;
④表单完成;
具体我在后面文章里做了总结
拓展:
GET vs POST :
①GET 和 POST 都创建数组(例如,array( key => value, key2 => value2, key3 => value3, ...))。此数组包含键/值对,其中的键是表单控件的名称,而值是来自用户的输入数据;
②GET 和 POST 被视作 $_GET 和 $_POST。它们是超全局变量,这意味着对它们的访问无需考虑作用域 - 无需任何特殊代码,您能够从任何函数、类或文件访问它们;
③$_GET 是通过 URL 参数传递到当前脚本的变量数组;
④$_POST 是通过 HTTP POST (http请求主体)传递到当前脚本的变量数组;
(3)GET与POST对比
①GET 方法
缺点:
1. 发送的信息对任何人都是可见的(所有变量名和值都显示在 URL 中);
2. 对所发送信息的数量也有限制。限制在大于 2000 个字符;
优点:
由于变量显示在 URL 中,把页面添加到书签中也更为方便
注意:GET 可用于发送非敏感的数据,绝不能使用 GET 来发送密码或其他敏感信息!
GET实例:
<form action="demo2.php" method="GET"> First name:<br> <input type="text" name="firstname" value="海贼王"> <br> Last name:<br> <input type="text" name="lastname" value="漫画"> <br><br> <input type="submit" value="Submit"> </form>
<?php echo "我搜索的是" . $_GET['firstname'] . "的" . $_GET['lastname']; ?>
运行代码,点击搜索后查看效果即可看到URL变为
http://localhost/demo2.php?firstname=海贼王lastname=漫画
复制出来后会自动经过URL编码,改为
http://localhost/demo2.php?firstname=%E6%B5%B7%E8%B4%BC%E7%8E%8B& lastname=%E6%BC%AB%E7%94%BB
这里经过URL编码,具体我在文章URL编码来源及详解 里做过介绍
点击收藏按钮,即可收藏该网页,可以再次打开
②POST方法
缺点:
由于变量未显示在 URL 中,也就无法将页面添加到书签
优点:
1. 发送的信息对其他人是不可见的(所有名称/值会被嵌入 HTTP 请求的主体中);
2. 对所发送信息的数量也无限制;
3. 此外POST 支持高阶功能,比如在向服务器上传文件时进行 multi-part 二进制输入
POST实例:
<form action="demo2.php" method="POST"> First name:<br> <input type="text" name="firstname" value="海贼王"> <br> Last name:<br> <input type="text" name="lastname" value="漫画"> <br><br> <input type="submit" value="Submit"> </form>
<?php echo "我搜索的是" . $_POST['firstname'] . "的" . $_POST['lastname']; ?>
运行代码,点击搜索后查看效果即可看到URL变为
http://localhost/demo2.php
点击收藏后到收藏夹,但是再次打开会发现数据消失了
【总结】
(1)HTML <form> 元素,已设置所有可能的属性
案例:
<form action="action_page.php" method="GET" target="_blank" accept-charset="UTF-8" ectype="application/x-www-form-urlencoded" autocomplete="off" novalidate> . form elements . </form>
下面是 <form> 属性的列表:
accept-charset | 规定在被提交表单中使用的字符集(默认:页面字符集)。 |
action | 规定向何处提交表单的地址(URL)(提交页面)。 |
autocomplete | 规定浏览器应该自动完成表单(默认:开启)。 |
enctype | 规定被提交数据的编码(默认:url-encoded)。 |
method | 规定在提交表单时所用的 HTTP 方法(默认:GET)。 |
name | 规定识别表单的名称(对于 DOM 使用:document.forms.name)。 |
novalidate | 规定浏览器不验证表单。 |
target | 规定 action 属性中地址的目标(默认:_self)。 |
(2)提示:开发者偏爱 POST 来发送表单数据
(3)GET与POST区别的列表:
①GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交);
②GET书签可收藏,POST为书签不可收藏;
③GET能被缓存,POST不能缓存 ;
④GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码;
⑤GET历史参数保留在浏览器历史中,POST参数不会保存在浏览器历史中;
⑥GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符);POST无限制;
⑦GET只允许 ASCII 字符,POST没有限制。也允许二进制数据;
⑧与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET。POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。
(4)什么是HTTP?
超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议。
HTTP在客户端和服务器之间以request-response protocol(请求-回复协议)工作。
由于Web服务器不保存发送请求的Web浏览器进程的任何信息,所以HTTP是无状态的。
(5)为什么GET能保存标签,而POST不能保存?
GET能被缓存,POST不能缓存 ;
GET历史参数保留在浏览器历史中,POST参数不会保存在浏览器历史中;
.
相关推荐
头歌PHP语言之表单进阶 教程 四关教程
PHP 表单变量(POST方法) PHP 表单变量(GET方法) PHP 字符串的连接 PHP heredoc语法 PHP 变量 PHP 变量的名称要求 给 PHP 变量赋值 PHP 变量类型 PHP 变量类型转换 PHP 可变变量 PHP 变量的有效范围 PHP 文件操作 PHP...
总结起来,"form_php简单表单验证页面"项目是一个基础的PHP教程,涵盖了HTML表单创建、PHP接收和验证表单数据、错误处理以及用户体验优化等多个方面,是学习PHP web开发的良好起点。通过这个项目,初学者可以理解...
总的来说,"web表单设计器扩展 php示例"是一个关于如何在PHP环境下开发和扩展表单设计功能的实践教程。通过学习和实践,开发者不仅可以创建出功能丰富的表单,还能提升自己在前端和后端开发方面的能力,更好地服务于...
这个“PHP教程”显然涵盖了学习PHP编程的基础和进阶内容,让我们来深入探讨一下PHP的核心概念、语法结构以及在实际应用中的重要性。 1. PHP基础: - **安装与配置**:PHP可以在多种操作系统上运行,如Windows、...
在"HTML5系列教程-HTML5表单提交和PHP环境搭建"中,我们将深入探讨两个核心主题:HTML5表单的新特性以及如何配置PHP开发环境。 首先,HTML5对表单元素进行了大幅度的升级,提供了更多的输入类型,如`...
PHP基础到高级开发教程-24 PHP的表单.mp4
1. PHP验证:PHP作为常见的服务器端语言,可以通过if条件语句、正则表达式等方式对用户输入进行验证,防止非法数据进入数据库。 2. ASP.NET验证:提供多种验证控件,如RequiredFieldValidator、RegularExpression...
本教程以"PHP与HTML表单的综合应用"为主题,旨在教你如何设计并处理一个基于PHP的个人简历登记表,帮助用户输入和提交个人信息。 一、HTML表单基础 HTML表单是网页中用于用户输入数据的元素集合,通过`<form>`标签...
【PHP Web应用开发教程】 PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其在Web开发领域中占有重要地位。本教程针对的是那些希望通过学习PHP来构建动态、交互式网站的学生或初学...
这本教程覆盖了PHP的基础语法、数据库交互、表单处理、session与cookie管理、错误与日志处理、文件操作以及安全防护等多个关键领域。 1. PHP基础语法:PHP是一种服务器端脚本语言,其语法结构清晰,易于学习。教程...
5. **表单处理**:讲解如何使用PHP接收和处理HTTP表单数据,进行用户输入验证。 6. **错误与异常处理**:指导如何正确地捕获和处理运行时错误,以及利用异常处理机制提高代码健壮性。 第二本教程《PHP基础教程.pdf...
1. 变量:PHP变量以$符号开头,无需提前声明类型,例如 `$name = "张三";` 2. 数据类型:包括字符串、整型、浮点型、布尔型、数组、对象、NULL等。 3. 输出:使用`echo`或`print`语句输出内容。 4. 控制结构:如条件...
传智播客_韩顺平_php从入门到精通 视频教程 第006讲 浮动窗口 表单及表单控件
PHP支持多种数据库系统,如MySQL,可以处理表单数据、生成动态网页、执行数据库操作等。其语法结构与C语言相似,易于学习,但同时也具备强大的功能。 "PHP经典教程"部分,可能包含了一系列的基础教学,比如变量声明...
...Output Control输出函数.doc ...PHP表单处理.doc PHP语法-数组.doc PHP随机显示目录下图片的源码.doc strlen与mb_strlen字符串长度函数.doc strtok()函数实际应用.doc 文件函数.txt 研究批量删除数据的方法.doc
1. **PHP基础**:介绍PHP语言的基本语法,包括变量、数据类型、控制结构(如条件语句和循环)、函数和数组等。读者将学习如何在PHP中编写和执行简单的脚本。 2. **MySQL数据库**:讲解如何创建、管理数据库以及操作...
1. PHP的定义和特点 PHP(Hypertext Preprocessor)是一种被广泛用于网页开发的服务器端脚本语言,其语法借鉴了C、Java和Perl语言,并包含一些PHP特有的功能。PHP最初被创建为一种用于处理动态网页的工具,它允许...
1. PHP环境搭建:介绍如何安装WAMP/LAMP/MAMP等开发环境,设置PHP运行所需的服务。 2. PHP基础语法:讲解变量、常量、数据类型、运算符、控制结构(如if/else、switch、for、while等)。 3. 函数:定义函数、使用...
PHP基础到高级开发教程-23 PHP内置(表单数据与跳.mp4