如何用php在html提交表单中附加现有的url参数


how to append existing url parameters in html submit form with php?

这不起作用。旧参数丢失。我明白http://x.x.x.x/temp/test.php?mode=compound

<form align="right" action="http://<? echo $_SERVER['SERVER_ADDR']."/temp/test.php?".$_SERVER['QUERY_STRING'];?>">
<? if ($_SESSION['mode']=="simple") { ?>
<input type="submit" value="Switch to compound mode">
<input type="hidden" name="mode" value="compound">
<? } else { ?>
<input type="submit" value="Switch to simple mode">
<input type="hidden" name="mode" value="simple">
<? } ?>
</form>

假设您使用的是GET参数,则可以尝试使用

echo $_SERVER['SERVER_ADDR']."/temp/test.php?".implode('&', $_GET);

代替

echo $_SERVER['SERVER_ADDR']."/temp/test.php?".$_SERVER['QUERY_STRING'];

我终于用这段代码做到了这一点:

<form align="right" action="http://<?echo $_SERVER['SERVER_ADDR']."/temp/test.php";?>">
<? if ($_SESSION['mode']=="simple") { ?>
<input type="submit" value="Switch to compound mode">
<input type="hidden" name="mode" value="compound">
<? } else { ?>
<input type="submit" value="Switch to simple mode">
<input type="hidden" name="mode" value="simple"> <? } 
foreach ($_GET as $id=>$parameter) { if ($id=="mode") { continue;}?>
<input type="hidden" name="<?echo $id;?>" value="<?echo $parameter;?>" /> <? } ?>
</form>