菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

PHP 教程

PHP HOME PHP 简介 PHP 安装 PHP 语法 PHP 注释 PHP 变量 PHP Echo / Print PHP 数据类型 PHP 字符串 PHP 数字 PHP 类型转换 PHP 数学 PHP 常量 PHP 魔术常量 PHP 运算符 PHP If...Else...Elseif PHP Switch PHP 循环 PHP 函数 PHP 数组 PHP 超全局变量 PHP 正则表达式

PHP 表单

PHP 表单处理 PHP 表单验证 PHP 表单必填项 PHP 表单 URL/电子邮件 PHP 表单完成

PHP 高级

PHP 日期和时间 PHP Include PHP 文件处理 PHP 文件打开/读取 PHP 文件创建/写入 PHP 文件上传 PHP Cookies PHP Sessions PHP 过滤器 PHP 高级过滤器 PHP 回调函数 PHP JSON PHP 异常

PHP OOP

PHP 什么是 OOP PHP 类/对象 PHP 构造函数 PHP 析构函数 PHP 访问修饰符 PHP 继承 PHP 常量 PHP 抽象类 PHP 接口 PHP Trait PHP 静态方法 PHP 静态属性 PHP 命名空间 PHP 可迭代对象

MySQL 数据库

MySQL 数据库 MySQL 连接 MySQL 创建数据库 MySQL 创建表 MySQL 插入数据 MySQL 获取最后 ID MySQL 插入多条数据 MySQL 预处理 MySQL 查询数据 MySQL Where MySQL Order By MySQL 删除数据 MySQL 更新数据 MySQL 限制数据

PHP XML

PHP XML 解析器 PHP SimpleXML 解析器 PHP SimpleXML - 获取 PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX 简介 AJAX PHP AJAX 数据库 AJAX XML AJAX 实时搜索 AJAX 投票

PHP 示例

PHP 示例 PHP 编译器 PHP 测验 PHP 练习 PHP 服务器 PHP 证书

PHP 参考手册

PHP 概述 PHP 数组 PHP 日历 PHP 日期 PHP 目录 PHP 错误 PHP 异常 PHP 文件系统 PHP 过滤器 PHP FTP PHP JSON PHP 关键词 PHP Libxml PHP 邮件 PHP 数学 PHP 杂项 PHP MySQLi PHP 网络 PHP 输出控制 PHP 正则表达式 PHP SimpleXML PHP Stream PHP String PHP 变量处理 PHP XML 解析器 PHP 压缩 PHP 时区

PHP 表单处理


PHP 超全局变量 $_GET$_POST 用于收集表单数据。


PHP - 一个简单的 HTML 表单

下面的例子展示了一个简单的 HTML 表单,包含两个输入字段和一个提交按钮

示例

<html>
<body>

<form action="welcome.php" method="POST">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
运行示例 »

当用户填写完上面的表单并点击提交按钮时,表单数据将通过 HTTP POST 方法发送到名为 "welcome.php" 的 PHP 文件进行处理。

要显示提交的数据,您可以简单地 echo 所有变量。

"welcome.php" 文件内容如下

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

输出可能如下

Welcome John
Your email address is john.doe@example.com

使用 HTTP GET 方法也可以达到相同的结果

示例

相同的例子,但 method 设置为 GET 而不是 POST

<html>
<body>

<form action="welcome_get.php" method="GET">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
运行示例 »

"welcome_get.php" 文件内容如下

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

上面的代码非常简单,不包含任何验证。

您需要验证表单数据以保护您的脚本免受恶意代码的侵害。

处理 PHP 表单时请考虑安全性!

此页面不包含任何表单验证,仅展示如何发送和检索表单数据。

但是,接下来的页面将展示如何以安全的方式处理 PHP 表单!正确验证表单数据对于保护您的表单免受黑客和垃圾邮件发送者的侵害非常重要!



GET 与 POST

GET 和 POST 都会创建一个数组(例如:array( key1 => value1, key2 => value2, key3 => value3, ...))。该数组包含键值对,其中键是表单控件的名称,值是用户输入的数据。

GET 和 POST 都被处理为 $_GET 和 $_POST。它们是超全局变量,这意味着它们始终可访问,无论作用域如何——您可以从任何函数、类或文件中访问它们,而无需进行任何特殊操作。

$_GET 是一个变量数组,通过 URL 参数传递给当前脚本。

$_POST 是一个变量数组,通过 HTTP POST 方法传递给当前脚本。


何时使用 GET?

使用 GET 方法从表单发送的信息**对所有人可见**(所有变量名和值都会显示在 URL 中)。GET 对发送信息量也有限制。限制约为 2000 个字符。然而,由于变量显示在 URL 中,因此可以收藏该页面。这在某些情况下可能很有用。

GET 可用于发送非敏感数据。

注意: GET 绝不应用于发送密码或其他敏感信息!


何时使用 POST?

使用 POST 方法从表单发送的信息**对他人不可见**(所有名称/值都嵌入在 HTTP 请求的正文中),并且对发送信息量**没有限制**。

此外,POST 支持高级功能,例如支持在将文件上传到服务器时进行多部分二进制输入。

然而,由于变量不显示在 URL 中,因此无法收藏该页面。

开发人员更倾向于使用 POST 来发送表单数据。

接下来,让我们看看如何安全地处理 PHP 表单!



×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持