【问题标题】:Strange PHP form GET results奇怪的 PHP 表单 GET 结果
【发布时间】:2010-12-07 14:32:29
【问题描述】:

我正在通过我的 php 页面获取这个 GET url:

suppliersdetails.php?project_no=107&submit=Submit+Query

为什么它会抓取提交值?

【问题讨论】:

    标签: html forms get


    【解决方案1】:

    因为您的<input type="submit" /> 有一个name(显然还有一个value),因此也应该提交。据说是“成功”:

    成功的控制对于提交是“有效的”。每个成功的控件都将其控件名称与其当前值配对,作为提交的表单数据集的一部分。成功的控件必须在 FORM 元素中定义,并且必须具有控件名称。

    来源:17.13.2 Successful controls ...你应该看看这个部分。

    【讨论】:

    • 啊,对吗?我只是觉得这很奇怪,因为我以前从未见过它像这样发生过!
    • @benhowdle89 我相信是:)
    • 这个答案没有提到“提交查询”值的来源。
    • @Asaph 不,它隐含在“(并且显然是value)”部分中,即“提交查询”是按钮的(默认?)value - - 因此它的表面上的文字。但是,我发现我从未对默认值给出任何提示 :)
    • @jensgram:是的。 “提交查询”是未指定时的默认值。这是所有主要浏览器都支持的一个不起眼的功能。我非常怀疑 OP 在 html 中实际上有 value="Submit Query"
    【解决方案2】:

    您的表单有一个带有name 属性但没有value 属性的<input type="submit"> 标记。在这种情况下,提交的默认值为"Submit Query"。您可以通过从 <input type="submit"> 标记中删除 name 属性来防止这种情况发生。

    【讨论】:

      【解决方案3】:

      因为是表单中的输入值,

      并用于识别页面上是否有多个按钮。

      <input name="btn1" type="submit" value="Save and Return">
      <input name="btn2" type="submit" value="Save and Insert More">
      
      ?btn1=Save and Return // you clicked "Save and Return"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多