0

我正在使用此代码从表 CUSTOMER 中搜索数据,但出现错误:在我的关键字文本中显示此错误----->>>>
注意:未定义索引:C:\xampp\htdocs\中的 txtKeyword new_test\php_oracle_search.php在第10行

代码:

     <html>
      <head>
      </head>
      <body>
   <?php
 $txtKeyword = '';
  if(isset($_GET['txtKeyword']) && strlen(trim($_GET['txtKeyword'])) > 0) {
      $txtKeyword = trim($_GET['txtKeyword']);
 }
  ?>

    <form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
     <table width="599" border="1">
     <tr>
  <th>Keyword
<input name="txtKeyword" type="text" id="txtKeyword" value=" =$_GET["txtKeyword"];?>">
   <input type="submit" value="Search"></th>
      </tr>
       </table>
      </form>
    <?
if($_GET["txtKeyword"] != "")
     {

$objConnect = oci_connect("system","dm","XE");
$strSQL = "SELECT  * FROM CUSTOMER  WHERE (NAME LIKE '%".$_GET["txtKeyword"]."%' 
or EMAIL LIKE '%".$_GET["txtKeyword"]."%' )  ";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute ($objParse);
?>
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">CustomerID </div></th>
    <th width="98"> <div align="center">Name </div></th>
    <th width="198"> <div align="center">Email </div></th>
    <th width="97"> <div align="center">CountryCode </div></th>
    <th width="59"> <div align="center">Budget </div></th>
    <th width="71"> <div align="center">Used </div></th>
  </tr>
<?
while($objResult = oci_fetch_array($objParse,OCI_BOTH))
{
?>
  <tr>
    <td><div align="center"><?=$objResult["CUSTOMERID"];?></div></td>
    <td><?=$objResult["NAME"];?></td>
    <td><?=$objResult["EMAIL"];?></td>
    <td><div align="center"><?=$objResult["COUNTRYCODE"];?></div></td>
    <td align="right"><?=$objResult["BUDGET"];?></td>
    <td align="right"><?=$objResult["USED"];?></td>
  </tr>
<?
}
?>
</table>
<?
oci_close($objConnect);
         }
         ?>
      </body>
      </html>
4

1 回答 1

1

txtKeyword在使用之前使用下面的代码进行验证:

if(isset($_GET['txtKeyword']) && strlen(trim($_GET['txtKeyword'])) > 0) {
   //handle
}

对于文本框中的通知错误,请执行以下操作:

在打开<body>标签后添加以下代码。

$txtKeyword = '';
if(isset($_GET['txtKeyword']) && strlen(trim($_GET['txtKeyword'])) > 0) {
   $txtKeyword = trim($_GET['txtKeyword']);
}

然后,在任何你想要$_GET['txtKeyword']的地方使用$txtKeyword。无法解释比这简单得多。

于 2013-10-03T17:28:20.943 回答