【问题标题】:How can I pass a parameter with submit button on form如何通过表单上的提交按钮传递参数
【发布时间】:2012-11-21 11:54:16
【问题描述】:

我想创建一个可以更改 PHP 制作的 mySQL 中的产品数据的 from。
我有自动递增并指定每个产品的键列。 当我单击编辑产品链接时,它将传递我从每个产品中获得的关键值 并链接到editPage.php

$Key = $data['Key']; 
<a href=\"editPage.php?Key=".$Key."\">edit</a>

在editPage.php中,我从上一页获取键值,我想通过提交表单按钮将此值传递到下一页。我在操作链接中附加键值。

<?$Key = $_GET["Key"];?>
<form id="form2" name="form1" method="post" action="editWeb.php?Key=".$Key." \">

它不起作用,我可以通过其他方式传递 Key 值吗?如果您想了解更多信息,请告诉我 谢谢!!:))

【问题讨论】:

  • 是的,你可以使用隐藏字段!
  • Key=" onsubmit="alert('xss'); 呢?
  • 您的表单有提交按钮吗?
  • 您很容易受到XSS的攻击。不要将外部数据注入到原始 HTML 文档中。

标签: php html forms


【解决方案1】:

您需要回显该值。

<form id="form2" name="form1" method="post" action="editWeb.php?Key=<? echo $Key ?>"/>

您也可以使用隐藏输入:

<form id="form2" name="form1" method="post" action="editWeb.php"/>
<input type="hidden" name="Key" value="<? echo $Key ?>" />

【讨论】:

  • 当我使用 ajax 加载 json 数据列表时,这似乎不起作用。我有一个包含 20 个表单的列表(带有 ajax 的 foreach 循环),但每个表单都提交相同的隐藏输入......知道为什么会这样吗?
【解决方案2】:

您需要创建一个hidden 输入字段并将该值放入其中。然后提交表单

<input type="hidden" id="Key" name="Key" value="<?=$Key ?>">

【讨论】:

    【解决方案3】:
    <form id="" name="form" method="get" action="page.php"/>
     <name="" input type="hidden" value="">
     <input type="submit" value="">
     </form>
    

    GET->在所需页面url上显示隐藏值。一般我们使用GET来传递值,这取决于您的要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      • 2018-05-19
      • 2019-09-25
      • 2021-02-01
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      相关资源
      最近更新 更多