【问题标题】:Search form to add "sku" to url将“sku”添加到 url 的搜索表单
【发布时间】:2013-07-18 08:57:31
【问题描述】:

我有一个搜索表单,当点击提交按钮并使用下面的结果表时,它会刷新页面。这工作正常,网址是http://example.com/?txtKeyword=searchterm 我希望它添加&sku=123456789 到我知道从我的数据库中添加sku 我需要使用这个术语$_GET[sku] 的网址的末尾。我试图将其添加到表单中,但没有成功。这是表单代码:

<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME']?>">
  <table width="100%">
    <tr>
      <th>Search: (Keyword/SKU)
        <input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>" size="40">
        <input class="alert button" type="submit" value="Search"></th>
    </tr>
  </table>
</form>

我想我需要添加这一行:

<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME']'&sku='$_GET["sku"]?>">

这不起作用。我不太确定,尝试学习 PHP,但似乎找不到问题或解决方案。我做错了吗?我需要做些什么才能做到这一点?

【问题讨论】:

  • 你不想添加另一个表单,你想添加另一个&lt;input&gt;
  • 取决于您的脚本在处理时是在寻找 $_POST['sku'] 还是 $_GET['sku']。如果它是 POST,那么您添加一个新的隐藏输入,将其添加到操作仅在它查找 $_GET['sku'] 时才有效
  • 感谢这工作,不知道为什么 id 没有想到这一点。感谢您的帮助
  • @Anigel:您可能应该将其发布为答案。
  • @AmalMurali 我把它作为一个问题而不是一个答案来发布,但稍微改写了它并将它作为一个答案发布

标签: php html mysql database


【解决方案1】:

这取决于您的脚本在处理时是在寻找$_POST['sku'] 还是$_GET['sku']

如果是 POST 则添加一个新的隐藏 &lt;input&gt;

<input type="hidden" name="sku" value="XXXXX">

只有在寻找$_GET['sku']时才能将其添加到表单操作中

编辑

如果你想回显某些东西,如果它在那里,但如果它不存在,那么做这样的事情。

<?php echo !empty($_GET['sku']) ? '<input type="hidden" name="sku" value="'.$_GET['sku'].'">' : ""; ?>

【讨论】:

  • 遇到您的解决方案的问题,我添加了以下行:" size="40"> 当我进入页面并输入搜索词时,它没有显示,我需要说如果没有找到 sku,则不回显其他任何内容,请使用 %_get["sku" ],这是怎么做到的,因为我尝试了一些方法,但它不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 1970-01-01
  • 2020-06-10
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多