-2

I'm sorry for taking a bit of your time i've been trying to figure out this error for hours

I have the following error:

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

Can't seem to work out whats wrong Here's the code:

<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>
`

The lines that gives me the errors is this if($_GET["Action"] == "Del") and this if($objResult["BUSSINESSID"] == $_GET["ID"] and $_GET["Action"] == "Edit").

Thanks in advance if you can help me out.

Rasclatt
  • 12,498
  • 3
  • 25
  • 33
Ren
  • 1
  • 1
  • assign these value to a variable and then try to use those variable in if condition, like $id=$_GET['someid']; and in if condition try like this if($id=='someid'){some action here} –  Dec 09 '14 at 03:39

2 Answers2

0

You need to take whole code using $_POST or $_GET arrays inside if block and check for any of the main $_GET/$_POST variable that is set by (isset() method) if it is set then do that stuff in the if block else don't.

Rasclatt
  • 12,498
  • 3
  • 25
  • 33
A.B
  • 20,110
  • 3
  • 37
  • 71
0

Check whether the index is set in the arrays before using them, like so:

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

As @A.B mentioned in the other answer, you should always do this check.

The reason you're getting this error is because the GET/POST requests don't have a value set for this index on the client side.

kRiZ
  • 2,320
  • 4
  • 28
  • 39