【问题标题】:what happens if submit a form without input names?如果提交没有输入名称的表单会发生什么?
【发布时间】:2013-08-20 23:06:37
【问题描述】:

我知道这是一个愚蠢的问题,但是如果我用各种输入填写表格但我没有给他们名称和 ID,然后我将其发布到 php 页面,发布的查询是否包含任何数据?

如果是这样,那么在表单中使用没有名称的输入会浪费发送时间。我说的对吗?

在这种情况下,GET 和 POST 有什么区别吗? 我假设浏览器(客户端)决定发送什么和不发送什么。

我会尝试看看如果我发送一个 GET 请求会发生什么:如果在浏览器栏中出现某些内容,则说明已经发送了一些数据。

但是 POST 方法对我来说仍然是个谜……当我有时间时,我会尝试打印 $_POST 数组。感谢“输入”@MattP

在有人攻击后我更新了我的问题:我打印了 $_POST 和 $_GET 的结果,但我认为我的问题的唯一答案是检查数据的权重,而不是服务器识别的东西.如果我将未命名的数据发送到服务器,服务器可能会丢弃该广告,只接收具有名称的广告。

(抱歉英语不好)

【问题讨论】:

  • 表单包含所有数据,但服务器上的页面将尝试通过其名称获取字段值,并且由于这些名称不存在于表单中,因此服务器获取未定义或空值。
  • 您只需要一个名称属性就可以出现在 POST 请求中。我希望没有数据被传递,所以你会得到一个空数组。尝试使用 print_r($_POST) 确认;
  • 为什么不自己测试一下看看结果?
  • 这只是一个简单的测试用例,如下所示:codepad.viper-7.com/5UsGF2 StackOverflow 不适用于调试、测试或编写教程。这是为了帮助有问题的人。

标签: html forms input names


【解决方案1】:

不,他们不会得到数据。 id 是可选的,但 PHP 做任何事情都需要 name 属性。

【讨论】:

  • 是的,这就是重点:PHP 需要名称来构建数组 $_POST。但我认为是浏览器(客户端)决定发送什么而不发送什么,或者我错了? @gerben-jacobs
  • 我也想澄清一下。是否有任何方法可以访问 PHP 或任何其他 Web 框架(例如,Web2Py)中的未命名输入?或者,对于大多数(如果不是全部)现代 Web 浏览器而言,未命名的输入首先不会在请求中传递给服务器,因此它只是规范的一部分,因此没有框架支持它?
  • 是的,你们都是对的。浏览器不知道(也根据规范)如何发送这些输入,所以它不知道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-05
  • 2019-04-16
  • 2019-01-01
  • 2012-01-17
  • 2016-04-04
  • 2013-06-26
  • 1970-01-01
相关资源
最近更新 更多