2014-09-18 67 views
0

我使用GET方法已经包含像参数中的URL提交表单腓get方法resseting网址

本地主机/ myfile.php?节=控制台

我的表单代码

 <form method="GET" action="<?=basename($_SERVER['PHP_SELF'])?>/section=console"> 

      <input type="text" name="cmd" /> 
      <input type="submit" value="execute" /> 
     </form> 

当我通过邮递方式提交这个数据时,它提交数据然后提交像myfile.php?cmd = blahblah 但我想提交给myfile.php?section = console & cmd = blahblah。

我可以使用隐藏域做到这一点,但我INSEARCH学院的其他更好的办法

+0

只需将查询字符串的当前URL作为表单动作 – 2014-09-18 18:32:16

+0

我没有明白,请您解释 – 2014-09-18 18:41:38

+0

为什么不使用“/myfile.php?section=console”作为表单动作? – 2014-09-18 19:50:14

回答

0

你应该用你的表单中的隐藏输入

<form method="GET" action="<?php echo basename($_SERVER['PHP_SELF']); ?>"> 
    <input type="hidden" name="section" value="console"> 
    <input type="text" name="cmd"> 
    <input type="submit" value="execute"> 
</form> 
+0

我已经在使用这种方法,我只想检查是否有另一种方法,当我使用POST方法时,我没有删除我的部分参数。我想可能还有另一种方法。 – 2014-09-18 18:43:19

+0

@ facebook-100005510415497你仍然可以使用POST并在'myfile.php'中寻找'$ _REQUEST ['section']'而不是get。我不太明白为什么隐藏的输入是不好的? – 2014-09-18 23:13:43

1

只需添加一个隐藏字段到表单

<input type="hidden" name="section" value="console"> 

如果您对使用隐藏字段不感兴趣,请重写您的表单,如下所示

<form method="GET" action="<?php basename($_SERVER['PHP_SELF']) ?>/?section=console">