如何在没有获取参数的情况下发送获取表单

时间:2016-03-17 10:46:43

标签: php forms get opencart

我有一个位于包含get参数的url的表单,我的表单也使用此方法。当表单提交时,它会重写previos get参数。 有没有一种简单的方法只重写我的表单参数?

我想到了一个Javascript解决方案,但我想知道是否有更简单的方法?或许使用HTML / PHP?

3 个答案:

答案 0 :(得分:2)

据我所知,你对使用JS不感兴趣,那么使用form的隐藏元素只是你喜欢的方式 -

<form action="demo_form.asp">
  First name: <input type="text" name="fname"><br>
  <input type="hidden" name="country" value="Norway">
  <input type="submit" value="Submit">
</form>

<p>Notice that the hidden field above is not shown to a user.</p>

问题是你如何在PHP中使用它,对吧?

解决方案就在这里 -

//In PHP
if( isset($_GET['fromPerson']) )
{
     echo $fromPerson;
}

所以组合的HTML和PHP代码将是这样的(假设来自prevous页面的get元素被命名为 fromPerson ) -

<form action="demo_form.asp">
      First name: <input type="text" name="fname"><br>

      <?php
         if( isset($_GET['fromPerson']) )
         {
            echo '<input type="hidden" name="country" value=".$_POST['fromPerson'].">';
         }

      ?>

      <input type="submit" value="Submit">
</form>

答案 1 :(得分:1)

假设您从get请求获得参数p1,它应如下所示:

http://server.com/?p1=123

在您的表单中,您可以添加在提交时具有相同效果的隐藏字段,如下所示:

<form method="GET">
<input type="hidden" value="<?php echo $_GET["p1"]; ?>" name="p1">
</form>

这样你可以根据需要多次重新发送变量。

答案 2 :(得分:1)

我不确定我理解你的问题......你能发布你的代码吗?

我认为你的意思是这样的? 在index.php中

<input type="hidden" name="id" value="<?php echo $id; ?>" />

in return.php

<a href="index.php?id=' . $user['id'] . '">Edit</a>