如何停止提交显示在地址栏中?

时间:2014-11-22 10:52:05

标签: php

如何停止在搜索栏中显示提交内容?难道我做错了什么?如果我使用post方法它工作正常,但最近我尝试使用get方法并在条形图中打印提交和文本框文本,我尝试删除名称="提交"当我点击它时它没有做任何事情。那我如何停止提交显示在地址栏中?

此刻它给我$ submit = submit,:(

所有。

<form action="" method="get">
<input type="text" name="website" placeholder="Website Name">
<input type="submit" name="submit">
</form>
<?php
if(isset($_GET['submit']))
{
  if(!empty($_GET['website']))
  {
    //do stuffs here
  }
  else
  {
     //else echo out that nothing was entered.
   echo "nothing entered";
  }
}
?>

2 个答案:

答案 0 :(得分:1)

只需使用:

!empty($_GET)

在你的第一个if语句中

所以你的代码应该是这样的:

<form action="" method="get">
    <input type="text" name="website" placeholder="Website Name">
    <input type="submit">
</form>

<?php

    if(!empty($_GET)) {

        if(!empty($_GET['website'])) {
            //do stuffs here
        } else {
            //else echo out that nothing was entered.
            echo "nothing entered";
        }
    }

?>

答案 1 :(得分:0)

要从网址栏中删除变量,您需要使用POST方法而不是GET方法。

因此,此表单代码应该适合您:

<form action="" method="POST">
    <input type="text" name="website" placeholder="Website Name">
    <input type="submit" name="submit">
</form>

您还需要更改PHP代码以使用$_POST而不是$_GET

这样做的缺点是它不会在URL栏中显示提交的网站,这意味着用户无法为提交的表单添加书签。但是,这也可能是有意的。

替代解决方案

您可以从提交中删除该名称,然后使用isset($_GET)来测试是否已提交表单。

以下是如何完成此操作的示例:

<form action="" method="get">
    <input type="text" name="website" placeholder="Website Name">
    <input type="submit">
</form>
<?php
if(isset($_GET) && count($_GET) > 0) {
    if(!empty($_GET['website']))
    {
        //do stuffs here
    } else {
        //else echo out that nothing was entered.
        echo "nothing entered";
    }
}
?>