- PHP 教程
- PHP - 首页
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 特性
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP - 数据类型
- PHP - 类型转换
- PHP - 类型强制转换
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件与I/O
- PHP - 数学函数
- PHP - Heredoc 和 Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期与时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符
- PHP - 算术运算符
- PHP - 比较运算符
- PHP - 逻辑运算符
- PHP - 赋值运算符
- PHP - 字符串运算符
- PHP - 数组运算符
- PHP - 条件运算符
- PHP - 展开运算符
- PHP - 空值合并运算符
- PHP - 比较运算符
- PHP 控制语句
- PHP - 决策机制
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP - 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - Do…While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值传递
- PHP - 按引用传递
- PHP - 默认参数
- PHP - 具名参数
- PHP - 可变参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量作用域
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头函数
- PHP - 可变函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理CSV文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象的PHP
- PHP - 面向对象编程
- PHP - 类和对象
- PHP - 构造函数和析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web 开发
- PHP - Web 概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮箱/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET 和 POST
- PHP - 文件上传
- PHP - Cookie
- PHP - Session
- PHP - Session 选项
- PHP - 发送邮件
- PHP - 输入过滤
- PHP - Post-Redirect-Get (PRG)
- PHP - 闪存消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 代码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - 调试Bug
- PHP - 针对C语言开发者
- PHP - 针对Perl开发者
- PHP - 框架
- PHP - Core PHP vs. 框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 哈希
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP 认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望值
- PHP - use 语句
- PHP - 整数除法
- PHP - 已弃用的特性
- PHP - 已移除的扩展和SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 进程
- PHP - PDO 扩展
- PHP - 内置函数
- PHP 有用资源
- PHP - 速查表
- PHP - 问答
- PHP - 快速指南
- PHP - 在线编译器
- PHP - 有用资源
- PHP - 讨论
PHP - 表单处理
HTML 表单在PHP Web应用程序中扮演着重要的角色。虽然纯HTML组成的网页是静态网页,但HTML表单组件是一个重要的特性,有助于带来交互性和渲染动态内容。PHP的表单处理功能可以在处理之前验证从用户收集的数据。
HTML表单是各种表单控件(例如文本字段、复选框、单选按钮等)的集合,用户可以与这些控件交互,输入或选择某些数据,这些数据可以通过JavaScript(客户端处理)在本地处理,也可以通过服务器端编程脚本(例如PHP)发送到远程服务器进行处理。
一个或多个表单控件元素放在<form>和</form>标签内。表单元素的特征在于不同的属性,例如name、action和method。
<form [attributes]> Form controls </form>
表单属性
在HTML表单元素的众多属性中,以下属性通常是必需且已定义的:
Action 属性
一个字符串,表示处理表单提交的URL。例如,http://example.com/test.php。要将表单数据提交到定义HTML表单的同一PHP脚本中,请使用PHP_SELF服务器变量:
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
Enctype 属性
指定在将表单数据发送到服务器之前应如何对其进行编码的方法。可能的值包括:
application/x-www-form-urlencoded - 默认值。
multipart/form-data - 如果表单包含type=file的<input>元素,则使用此属性。
text/plain - 用于调试目的。
Method 属性
一个字符串,表示提交表单的HTTP方法。以下方法是method属性的可能值:
post - POST方法;表单数据作为请求正文发送。
get (default) - GET方法;表单数据使用“?”分隔符附加到action URL。如果表单没有副作用,请使用此方法。
dialog - 当表单位于<dialog>内时,关闭对话框并触发提交事件,而无需提交数据或清除表单。
Name 属性
表单的名称。该值不能是空字符串,如果同一HTML文档中有多个表单,则该值必须唯一。
Target 属性
一个字符串,指示在提交表单后在哪里显示响应。应该是以下值之一:
_self (default) - 加载到与当前浏览上下文相同的浏览上下文。
_blank - 加载到新的未命名浏览上下文。
_parent - 加载到当前浏览上下文的父级浏览上下文。
_top - 加载到顶级浏览上下文(当前浏览上下文的祖先,并且没有父级)。
因此,在PHP Web应用程序中使用的典型HTML表单如下所示:
<form name="form1" action="<?php echo $_SERVER['PHP_SELF'];?>" action="POST"> Form controls </form>
表单元素
HTML表单使用不同类型的控件或元素设计。用户可以与这些控件交互以输入数据或从提供的选项中进行选择。下面描述一些元素:
Input 元素
input元素表示数据字段,使用户能够输入和/或编辑数据。
INPUT元素的type属性控制数据。INPUT元素可以具有以下类型:
Text
用于输入单行文本的文本字段。
<input type="text" name="employee">
Password
单行文本字段,用于屏蔽输入的字符。
<input type="password" name="pwd"><br>
Checkbox
一个矩形的可选中框,它是一组从预定义列表中选择零个或多个值。
<input type="checkbox" id="s1" name="sport1" value="Cricket"> <label for="s1">I like Cricket</label><br> <input type="checkbox" id="s2" name="sport2" value="Football"> <label for="s2">I like Football</label><br> <input type="checkbox" id="s3" name="sport3" value="Tennis"> <label for="s3">I like Tennis</label><br><br>
Radio
此类型呈现一个圆形的可点击按钮,具有两种状态(ON或OFF),通常是单选组中多个按钮的一部分。
<input type="radio" id="g1" name="gender" value="Male"> <label for="g1">Male</label><br> <input type="radio" id="g2" name="female" value="Female"> <label for="g2">Female</label><br>
File
此输入类型呈现一个标题为“文件”的按钮,允许用户从客户端文件系统选择文件,通常用于上传到服务器。表单的enctype属性必须设置为“multipart/form-data”。
<input type="file" name="file">
单行文本字段,自定义为接受符合有效电子邮件ID的字符串。
URL
单行文本字段,自定义为接受符合有效URL的字符串。
Submit
此input元素呈现一个按钮,单击该按钮会启动将表单数据提交到当前表单action属性中指定的URL。
<input type="submit" name="Submit">
Select 元素
select元素表示一个控件,用于在一组选项中进行选择。每个选项都使用Select控件的option属性定义。例如:
<select name="Subjects" id="subject"> <option value="Physics">Physics</option> <option value="Chemistry">Chemistry</option> <option value="Maths">Maths</option> <option value="English">English</option> </select>
表单示例
让我们使用这些表单元素来设计一个HTML表单并将其发送到PHP_SELF脚本
<html> <body> <form method = "post" action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <table> <tr> <td>Name:</td> <td><input type = "text" name = "name"></td> </tr> <tr> <td>E-mail: </td> <td><input type = "email" name = "email"></td> </tr> <tr> <td>Website:</td> <td><input type = "url" name = "website"></td> </tr> <tr> <td>Classes:</td> <td><textarea name = "comment" rows = "5" cols = "40"></textarea></td> </tr> <tr> <td>Gender:</td> <td> <input type = "radio" name = "gender" value = "female">Female <input type = "radio" name = "gender" value = "male">Male </td> </tr> <td> <input type = "submit" name = "submit" value = "Submit"> </td> </table> </form> <?php $name = $email = $gender = $comment = $site = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $email = $_POST["email"]; $name = $_POST["name"]; $comment = $_POST["comment"]; $gender = $_POST["gender"]; $site = $_POST["website"]; } echo "<h2>Your given values are as:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $site; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html>
它将产生以下输出: