2014-12-09 3 views
-2

Я извиняюсь за то, немного вашего времени я пытался выяснить эту ошибку в течение нескольких часовUndefined индекс PHP ошибка

У меня есть следующее сообщение об ошибке:

Notice: Undefined index: Action in C:\xampp\htdocs\Earl.com\Earl.com\EditEverything.php on line 71 
Notice: Undefined index: BUSSINESSID in C:\xampp\htdocs\Earl.com\Earl.com\EditEverything.php on line 129 
Notice: Undefined index: ID in C:\xampp\htdocs\Earl.com\Earl.com\EditEverything.php on line 129 
Notice: Undefined index: Action in C:\xampp\htdocs\Earl.com\Earl.com\EditEverything.php on line 129 
Notice: Undefined index: BUSSINESSID in C:\xampp\htdocs\Earl.com\Earl.com\EditEverything.php on line 129 
Notice: Undefined index: ID in C:\xampp\htdocs\Earl.com\Earl.com\EditEverything.php on line 129 
Notice: Undefined index: Action in C:\xampp\htdocs\Earl.com\Earl.com\EditEverything.php on line 129 

Не может кажется, работать, что не так Вот код:

<html> 
<head> 
</head> 
<body> 
<?php 
    $user="root"; 
    $pass=""; 
    $database="epages"; 
    $localhost="localhost"; 
    $conn=mysql_connect($localhost,$user,$pass); 
    mysql_select_db("epages") or die(mysql_error()); 

    //*** Add Condition ***// 
if($_POST["hdnCmd"] == "Add") { 
     $strSQL = "INSERT INTO BUSINESS "; 
     $strSQL .="(BUSINESSID,BUSINESSNAME,SERVICES) "; 
     $strSQL .="VALUES "; 
     $strSQL .="('".$_POST["txtAddBUSINESSID"]."','".$_POST["txtAddName"]."' "; 
     $strSQL .=",'".$_POST["txtAddService"]."') "; 
     $objQuery = mysql_query($strSQL); 
     if(!$objQuery) { 
       echo "Error Save [".mysql_error()."]"; 
      } 
     //header("location:$_SERVER[PHP_SELF]"); 
     //exit(); 
    } 

//*** Update Condition ***// 
if($_POST["hdnCmd"] == "Update") { 
     $strSQL = "UPDATE BUSINESS SET "; 
     $strSQL .="BUSINESSID = '".$_POST["txtEditBUSINESSID"]."' "; 
     $strSQL .=",BUSINESSNAME = '".$_POST["txtEditName"]."' "; 
     $strSQL .=",SERVICES = '".$_POST["txtEditService"]."' "; 

     $strSQL .="WHERE BUSINESSID = '".$_POST["hdnEditBUSINESSID"]."' "; 

     $objQuery = mysql_query($strSQL); 

     if(!$objQuery) { 
       echo "Error Update [".mysql_error()."]"; 
      } 

    //header("location:$_SERVER[PHP_SELF]"); 
    //exit(); 
    } 

//*** Delete Condition ***// 

if($_GET["Action"] == "Del") { 
     $strSQL = "DELETE FROM BUSINESS WHERE BUSINESSID ='".$_GET["ID"]."' "; 
     $objQuery = mysql_query($strSQL); 
     if(!$objQuery) { 
       echo "Error Delete [".mysql_error()."]"; 
      } 

     //header("location:$_SERVER[PHP_SELF]"); 
     //exit(); 
    } 

$strSQL = "SELECT * FROM BUSINESS"; 

$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]"); ?> 
<form name="frmMain" method="post" action="<?php echo $_SERVER["PHP_SELF"];?>"> 
    <input type="hidden" name="hdnCmd" value=""> 
    <table width="600" border="1"> 
     <tr> 
      <th width="91"> <div align="center">BUSINESSID</div></th> 
      <th width="98"> <div align="center">BusinessName</div></th> 
      <th width="198"> <div align="center">Service</div></th> 
      <th width="30"> <div align="center">Edit</div></th> 
      <th width="30"> <div align="center">Delete</div></th> 
     </tr> 
     <?php 

while($objResult = mysql_fetch_array($objQuery)) { 

    if($objResult["BUSSINESSID"] == $_GET["ID"] and $_GET["Action"] == "Edit") { ?> 
     <tr> 
      <td><div align="center"> 
        <input type="text" name="txtEditBUSINESSID" size="5" value="<?php echo $objResult["BUSINESSID"];?>"> 
        <input type="hidden" name="hdnEditBUSINESSID" size="5" value="<?php echo $objResult["BUSINESSID"];?>"> 
       </div></td> 
      <td><input type="text" name="txtEditName" size="20" value="<?php echo $objResult["BUSINESSNAME"];?>"></td> 
      <td><input type="text" name="txtEditService" size="20" value="<?php echo $objResult["SERVICES"];?>"></td> 
      <td colspan="2" align="right"><div align="center"> 
        <input name="btnAdd" type="button" id="btnUpdate" value="Update" OnClick="frmMain.hdnCmd.value='Update';frmMain.submit();"> 
        <input name="btnAdd" type="button" id="btnCancel" value="Cancel" OnClick="window.location='<?php echo $_SERVER["PHP_SELF"];?>';"> 
       </div></td> 
     </tr> 
     <?php 

} else { ?> 
     <tr> 
      <td><div align="center"><?php echo $objResult["BUSINESSID"];?></div></td> 
      <td><?php echo $objResult["BUSINESSNAME"];?></td> 
      <td><?php echo $objResult["SERVICES"];?></td> 
      <td align="center"><a href="<?php echo $_SERVER["PHP_SELF"];?>?Action=Edit&ID=<?php echo $objResult["BUSSINESSID"];?>">Edit</a></td> 
      <td align="center"><a href="JavaScript:if(confirm('Confirm Delete?')==true){window.location='<?php echo $_SERVER["PHP_SELF"];?>?Action=Del&ID=<?php echo $objResult["BUSSINESSID"];?>';}">Delete</a></td> 
     </tr> 
     <?php 
     } 
    } ?> 
     <tr> 
      <td><div align="center"><input type="text" name="txtAddBUSSINESSID" size="5"></div></td> 
      <td><input type="text" name="txtAddName" size="20"></td> 
      <td><input type="text" name="txtAddService" size="20"></td> 
      <td colspan="2" align="right"><div align="center"><input name="btnAdd" type="button" id="btnAdd" value="Add" OnClick="frmMain.hdnCmd.value='Add';frmMain.submit();"></div></td> 
     </tr> 
    </table> 
</form> 
<?php mysql_close($conn); ?> 
</body> 
</html> 
` 

линии, что дает мне ошибки это if($_GET["Action"] == "Del") и это if($objResult["BUSSINESSID"] == $_GET["ID"] and $_GET["Action"] == "Edit").

Заранее спасибо, если вы можете мне помочь.

+0

присвойте эти значения переменной, а затем попытайтесь использовать эту переменную в условии if, например $ id = $ _ GET ['someid']; и в условии if попробуйте это сделать, если ($ id == 'someid') {какое-то действие здесь} –

ответ

0

Вы должны принять весь код, используя $_POST или $_GET массивов внутри, если блок и проверить для любого главного $_GET/$_POST переменных, который устанавливается (isset() метода), если он установлен, то сделать это вещество в, если блок еще не» т.

+0

$ _POST и $ _GET –

+0

да было просто highliting, спасибо @Dagon –

0

Проверить, является ли множество индексов в массивах перед их использованием, например, так:

if (isset($_GET["Action"]) { 
    if($_GET["Action"] == "Del") { 
     // Do stuff 
    } 
} 

Как @ A.B упоминалось в другой ответ, вы должны всегда делать эту проверку.

Причина, по которой вы получаете эту ошибку, состоит в том, что запросы GET/POST не имеют значения для этого индекса на стороне клиента.

Смежные вопросы