2017-06-02 109 views
-2

我试图创建一个网页,显示我一个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> 
+0

如果有疑虑,查手册:http://php.net/isset – Qirel

+1

'isset()函数'需要括号http://php.net /manual/en/function.isset.php – Mohammad

+1

,并且可以使用一个三元操作,缩短到一行'$ TMP = isset($ _ GET [ “txtSearchBar”])? $ _GET [“txtSearchBar”]:'';' – Qirel

回答

0

改变你的代码

if (isset($_GET["txtSearchBar"])) 
{ 
     $tmp = $_GET["txtSearchBar"]; 
} 
0

使用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>"; 
      } 
     ?> 
1

你需要使用括号与isset功能

if (isset($_GET["txtSearchBar"])) // <-- Here 
{ 
    $tmp = $_GET["txtSearchBar"]; 
}