我有一个搜索表单,并且“提交”按钮如下所示:
<input type="submit" name="search_submit" value="Go"/>
我使用以下php处理此表单:
if (isset($_GET['search_submit'])) {
do blah
}
工作正常。但是我的网址中包含&search_submit = Go。我不希望这种情况出现。
我知道要解决此问题,我需要从表单输入行中删除name属性。
但是后来我的php不再起作用,我不确定如何更改它以处理表单。我尝试将其更改为:
if (isset($_GET['submit']))
和
if (isset($_GET['Go']))
但是他们也不起作用。如果有人可以帮助我提供答案,那就太好了。
您无法删除输入元素的名称,因为PHP不知道要查找哪个值。如果您想完全隐藏URL后面的字符串,请使用请求方法POST代替GET
:
<form action='myscript.php' method='POST'>
<input type="submit" name="search_submit" value="Go"/>
</form>
您的PHP将使用以下内容:
$_POST['search_submit']; // Instead of $_GET['search_submit'];
在此处可以找到有关何时使用GET和POST的很好的答案。
编辑:如果您只是不想让该按钮显示在URL中,但其他所有内容仍应存在(根据您的评论),则只需删除“提交”按钮的值和名称即可。
除了寻找search_submit
设置之外,您还可以寻找其他值:
if (isset($_GET['username'], $_GET['password'])) {
// Do your stuff here
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句