我有一个位于包含get参数的url的表单,我的表单也使用此方法。当表单提交时,它会重写previos get参数。 有没有一种简单的方法只重写我的表单参数?
我想到了一个Javascript解决方案,但我想知道是否有更简单的方法?或许使用HTML / PHP?
答案 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>