如何停止在搜索栏中显示提交内容?难道我做错了什么?如果我使用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";
}
}
?>
答案 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";
}
}
?>