“解析错误”使用$ _GET变量(PHP)
问题描述:
我试图创建一个网页,显示我一个SQL数据库的内容时。这工作,但现在我创建一个搜索选项,允许过滤。
我似乎无法获得超全局$_GET
工作,虽然,我总是得到他的错误:
Parse error: syntax error, unexpected '$_GET' (T_VARIABLE) HTML/PHP code:
<header>
<div id="divSearchBar">
<form name="SearchBar" method="get" action="index.php">
<input type="text" name="txtSearchBar"/>
<input type="submit" value="Search"/>
<input type="submit" name="sbmAddItem" value="Add Item"/>
</form>
</div>
</header>
<main>
<?php
include_once "Repository.php";
$r = new Repository();
$tmp = "";
if (isset $_GET["txtSearchBar"])
{
$tmp = $_GET["txtSearchBar"];
}
$myItems = $r->GetItems(tmp);
for($i=0;$i<count($myItems);$i++)
{
print '<div id="divGen"><p id="pGen">' . $myItems[$i]->Item . '</p><p id="pGen2">' . $myItems[$i]->Category . "</p></div>";
}
?>
</main>
答
改变你的代码
if (isset($_GET["txtSearchBar"]))
{
$tmp = $_GET["txtSearchBar"];
}
答
使用isset()函数圆括号功能
<?php
include_once "Repository.php";
$r = new Repository();
$tmp = "";
if (isset ($_GET["txtSearchBar"]))
{
$tmp = $_GET["txtSearchBar"];
}
$myItems = $r->GetItems(tmp);
for($i=0;$i<count($myItems);$i++)
{
print '<div id="divGen"><p id="pGen">' . $myItems[$i]->Item . '</p><p id="pGen2">' . $myItems[$i]->Category . "</p></div>";
}
?>
如果有疑虑,查手册:http://php.net/isset – Qirel
'isset()函数'需要括号http://php.net /manual/en/function.isset.php – Mohammad
,并且可以使用一个三元操作,缩短到一行'$ TMP = isset($ _ GET [ “txtSearchBar”])? $ _GET [“txtSearchBar”]:'';' – Qirel