我遇到以下代码问题。我希望在使用“搜索”按钮提交表单时显示标题Search results
,并且我尝试使用名为搜索的隐藏输入来实现此功能。这个想法是,当提交表单时,此值设置为“是”,这将显示标题,但这不是这里发生的事情。谁能告诉我哪里出错了?
<html>
<head>
<title>Search</title>
</head>
<body>
<h1>Search</h1>
<form name = "search" action = "<?=$PHP_SELF?>" method = "get">
Search for <input type = "text" name = "find" />
<input type = "hidden" name = "searching" value = "yes" />
<input type = "submit" name = "search" value = "Search" />
</form>
<?php
if ($searching == "yes")
{
echo "<h2>Search results</h2>";
}
?>
</body>
</html>
答案 0 :(得分:2)
@chris,你不必使用隐藏字段。你可以检查表单是否像这样提交:
if(isset($_GET['search'])) echo 'foo';
@Boris,为什么将全局存储到另一个var更安全?如果你检查全球对抗正则表达式或之前的任何事情,我会同意。
菲利克斯
答案 1 :(得分:1)
您需要访问超级全球$_GET
:
if($_GET["searching"]=="yes"){
//echo here
}
答案 2 :(得分:1)
除非您使用的是旧版本的PHP或非常不安全的配置,否则您可能不会使用全局变量。
因此,您需要先从魔术$_GET
变量中检索$searching
变量。
$searching = $_GET['searching'];