Receiving empty form values using php and post [duplicate] - php

This question already has answers here:
"Notice: Undefined variable", "Notice: Undefined index", "Warning: Undefined array key", and "Notice: Undefined offset" using PHP
(29 answers)
Closed 6 years ago.
I am making a insertion form to add a product to the mysql database. I am using echo command to print the query. The printed query is showing empty values like this:
Notice: Undefined index: product_cat in F:\Apache24\htdocs\Site1\admin\product_add.php on line 40
Notice: Undefined index: product_brand in
F:\Apache24\htdocs\Site1\admin\product_add.php on line 41
Notice: Undefined index: product_title in
F:\Apache24\htdocs\Site1\admin\product_add.php on line 42
Notice: Undefined index: product_price in
F:\Apache24\htdocs\Site1\admin\product_add.php on line 43
Notice: Undefined index: product_description in
F:\Apache24\htdocs\Site1\admin\product_add.php on line 44
Notice: Undefined index: product_keywords in
F:\Apache24\htdocs\Site1\admin\product_add.php on line 45
Notice: Undefined index: product_images in
F:\Apache24\htdocs\Site1\admin\product_add.php on line 48
Notice: Undefined index: product_images in
F:\Apache24\htdocs\Site1\admin\product_add.php on line 49
insert into products ('product_cat', 'product_brand', 'product_title',
'product_price', 'product_desc', 'product_image', 'product_keywords')
values( '', '', '', '', '', '', '')
This is the html form. It is also the action page:
<!DOCTYPE html>
<html>
<head>
<title>Admin Panel - Add Products</title>
<link rel="stylesheet" type="text/css" href="../styles/admin-style.css">
<script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
<script>tinymce.init({ selector:'textarea' });</script>
<?php
include("../includes/connect.php");
function getcats_add_products(){
global $con;
$get_cats="select * from categories";
$run_cats=mysqli_query($con, $get_cats);
echo "<option>Select Category</option>";
while($row_cats = mysqli_fetch_array($run_cats)){
$cat_id = $row_cats['cat_id'];
$cat_title = $row_cats['cat_title'];
echo "<option value='$cat_id'>$cat_title</option>";
}
}
function getbrands_add_products(){
global $con;
$get_brands="select * from brands";
$run_brands=mysqli_query($con, $get_brands);
echo "<option>Select Brand</option>";
while($row_brands = mysqli_fetch_array($run_brands)){
$brand_id = $row_brands['brand_id'];
$brand_title = $row_brands['brand_title'];
echo "<option value='$brand_id'>$brand_title</option>";
}
}
if(isset($_POST['submit'])){
$product_cat = $_POST['product_cat'];
$product_brand = $_POST['product_brand'];
$product_title = $_POST['product_title'];
$product_price = $_POST['product_price'];
$product_desc = $_POST['product_description'];
$product_keywords = $_POST['product_keywords'];
$product_images = $_FILES['product_images']['name'];
$product_images_temp = $_FILES['product_images']['tmp_name'];
$product_query = "insert into products
('product_cat',
'product_brand',
'product_title',
'product_price',
'product_desc',
'product_image',
'product_keywords')
values(
'$product_cat',
'$product_brand',
'$product_title',
'$product_price',
'$product_desc',
'$product_images',
'$product_keywords') ";
echo $product_query;
}
?>
</head>
<body>
<div class="wrapper">
<header>
</header>
<div class="heading">Add New Product</div>
<div class="product-table-div">
<form method="POST" action="" enctype="multipart/form-data">
<table class="product-table" border="1">
<tr>
<td id="product-add-label">Product Category</td>
<td>
<select id="product-table-input" name="product-cat">
<?php getcats_add_products(); ?>
</select>
</td>
</tr>
<tr>
<td id="product-add-label">Product Brand</td>
<td>
<select id="product-table-input" name="product-brand">
<?php getbrands_add_products(); ?>
</select>
</td>
</tr>
<tr>
<td id="product-add-label">Product title</td>
<td>
<input type="text" name="product-title" id="product-table-input">
</td>
</tr>
<tr>
<td id="product-add-label">Product Price</td>
<td>
<input type="number" name="product-price" id="product-table-input">
</td>
</tr>
<tr>
<td id="product-add-label">Product description</td>
<td>
<textarea rows="10" cols="30" name="product-description"></textarea>
</td>
</tr>
<tr>
<td id="product-add-label">Product image</td>
<td>
<input type="file" name="product-images" id="product-table-input">
</td>
</tr>
<tr>
<td id="product-add-label">Product Keywords</td>
<td>
<input type="text" name="product-keywords" id="product-table-input">
</td>
</tr>
<tr>
<td colspan="2">
<div id="product-submit-div">
<input type="reset" name="submitreset" id="product-submit" value="Clear">
<input type="submit" name="submit" id="product-submit" value="Add">
</div>
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>
This location of this page is root>admin>product_add.php. What seems to be the problem?
Oh, I have also used tinymce text editor in the textarea.

You are using Hyphen - signs in the HTML form for the field names; but when you try to read in PHP, you are using underscores.
$product_cat = $_POST['product_cat'];
$product_brand = $_POST['product_brand'];
$product_title = $_POST['product_title'];
$product_price = $_POST['product_price'];
$product_desc = $_POST['product_description'];
$product_keywords = $_POST['product_keywords'];
Use below code instead of above
$product_cat = $_POST['product-cat'];
$product_brand = $_POST['product-brand'];
$product_title = $_POST['product-title'];
$product_price = $_POST['product-price'];
$product_desc = $_POST['product-description'];
$product_keywords = $_POST['product-keywords'];

Related

Data is updated in the database but with error

In my system, I have a function to update the data. After I click 'update' button, the data is updated at the database, but it also displays an error like this:
PHP Notice: Undefined index: badgeid in
C:\inetpub\wwwroot\tgotworker\pages\manage_engineer_admin\edit_engineer_admin.php
on line 33
PHP Notice: Undefined variable: fullname in
C:\inetpub\wwwroot\tgotworker\pages\manage_engineer_admin\edit_engineer_admin.php
on line 210
PHP Notice: Undefined variable: roles_id in
C:\inetpub\wwwroot\tgotworker\pages\manage_engineer_admin\edit_engineer_admin.php
on line 220
PHP Notice: Undefined variable: roles_id in
C:\inetpub\wwwroot\tgotworker\pages\manage_engineer_admin\edit_engineer_admin.php
on line 221
PHP Notice: Undefined variable: team_id in
C:\inetpub\wwwroot\tgotworker\pages\manage_engineer_admin\edit_engineer_admin.php
on line 231
PHP Notice: Undefined variable: team_id in
C:\inetpub\wwwroot\tgotworker\pages\manage_engineer_admin\edit_engineer_admin.php
on line 231
Below is my code:
<?php
$sql = "";
require_once "../../config/configPDO.php";
require_once "../../config/check.php";
if(isset($_POST['update']))
{
$badgeid = $_POST['badgeid'];
// checking empty fields
if(empty($badgeid)) {
if(empty($badgeid)) {
echo "<font color='red'>Fac_Name field is empty.</font><br/>";
}
} else {
//updating the badgeid
$sql = "UPDATE users SET roles_id = :roles_id, team_id = :team_id WHERE badgeid = :badgeid";
$query = $conn->prepare($sql);
$query->bindParam(':roles_id', $_POST['roles_id']);
$query->bindParam(':team_id', $_POST['team_id']);
$query->bindParam(':badgeid', $_POST['badgeid']);
$query->execute();
//redirectig to the display page. In our case, it is index.php
header("Location: ../dashboard/dashboard_super_admin.php");
}
}
//getting id from url
$badgeid = $_GET['badgeid']; //line 33
//selecting data associated with this particular id
$sql = "SELECT * FROM users LEFT JOIN roles on users.roles_id = roles.roles_id WHERE badgeid = :badgeid";
$query = $conn->prepare($sql);
$query->execute(array(':badgeid' => $badgeid));
$rows = $query->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $row)
{
$badgeid = $row["badgeid"];;
$fullname = $row["fullname"];
$roles_id = $row["roles_id"];
$team_id = $row['team_id'];
$roles_name = $row["roles_name"];
}
$smt = $conn->prepare("SELECT * FROM team");
$smt->execute();
$data = $smt->fetchAll();
?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="POST">
<table class = "table table-bordered">
<tr>
<td width="20%"><b>Full Name</b></td>
<td width="80%"><?php echo $fullname; ?></td> //line 210
</tr>
<tr>
<td width="20%"><b>Badge ID</b></td>
<td width="80%"><?php echo $badgeid; ?></td>
</tr>
<tr>
<td width="20%"><b>Role</b></td>
<td width="80%">
<select class="form-control" name="roles_id">
<option value="1" <?php echo $roles_id == '1'? 'selected': '';?> >Super Admin</option> //line 220
<option value="2" <?php echo $roles_id == '2'? 'selected': '';?> >Engineer</option> //line 221
</select>
<input type="hidden" name="badgeid" value="<?php echo $badgeid ?>">
</td>
</tr>
<tr>
<td width="20%"><b>Team</b></td>
<td width="80%">
<select class="form-control" name="team_id">
<?php foreach ($data as $row): ?>
<option value="<?php echo $row["team_id"]; ?>" <?php echo $row["team_id"] == $team_id ? 'selected': ''; ?>><?php echo $row["team_name"]; ?></option> //line 231
<?php endforeach ?>
</select>
<input type="hidden" name="badgeid" value="<?php echo $badgeid ?>">
</td>
</tr>
</table><br>
<div align="center">
<td><button class ="btn btn-primary btn-block" name="update" value="Update" onclick="update()">Update</button></td>
</div>
</form>
The problem is that you are using $_SERVER["PHP_SELF"] as the form action.
This removes the $_GET variables from the redirected page which means that you will be redirected to eg index.php instead of index.php?badgeid=1
This as a result makes this line throw a notice $badgeid = $_GET['badgeid'];
and makes your query to have no results so the rest variables are never initialized which in turn results to the rest notices you get.
In order to solve this you could be using $_SERVER['REQUEST_URI'] instead which will keep the variables or save and pass the badgeid by other means.

undefined index error in update form [duplicate]

This question already has answers here:
"Notice: Undefined variable", "Notice: Undefined index", "Warning: Undefined array key", and "Notice: Undefined offset" using PHP
(29 answers)
Closed 5 years ago.
this img contain my updation.php code
this img contain my updation.php code
when i insert data into textbox and then click submit but at that time
javascript alertbox sys "your data has been updated successfully" and than browser display errorss messeges
error messeges
<?php
$con = mysqli_connect('127.0.0.1','root','','');
mysqli_select_db($con,'brm_db');
$q = "SELECT * FROM book";
$result = mysqli_query($con,$q);
$num = mysqli_num_rows($result);
mysqli_close($con);
?>
<!DOCTYPE html>
<html>
<head>
<title> Update Record </title>
<link rel="stylesheet" href="./css/viewstyle.css" />
</head>
<body>
<h1 align="center"> Book Record Management</h1>
<center>
<form action="updation.php" method="post">
<table id="view_table">
<tr>
<th>Book Id</th>
<th>Title</th>
<th>Price</th>
<th>Author</th>
</tr>
<?php
for($i=1;$i<=$num;$i++)
{
$row = mysqli_fetch_array($result);
?>
<tr>
<td> <?php echo $row['bookid'];?>
<input type="hidden" name="bookid <?php echo $i ;?>" value="<?php echo $row['bookid'];?>" /> </td>
<td><input type="text" name="title <?php echo $i ;?> "value="<?php echo $row['title'];?>" /></td>
<td><input type="text" name="price <?php echo $i ;?> "value="<?php echo $row['price'];?>" /></td>
<td><input type="text" name="author <?php echo $i ;?> "value="<?php echo $row['author'];?>" /></td>
</tr>
<?php
}
?>
</table>
<input type="submit" value="Update" style="background-color:lightgreen;width:100px;" />
</form>
</center>
</body>
</html>
Declare array assigned to those before entering into the for loop like the following
$bookid = array();
$title = array();
$price = array();
$author = array();
//for loop goes here
Instead of this type I would like to suggest you to have a single array as follows and then store in it
$books = array();
for($i = 0; $i <= $records; $i++){
$books[$i]['bookid'] = $_POST[$index1];
$books[$i]['title'] = $_POST[$index1];
$books[$i]['price'] = $_POST[$index1];
$books[$i]['author'] = $_POST[$index1];
}
Now loop the above $books array as follows, which will be very convenient to achieve
foreach($books as $book){
}

Errors: "Notice: Undefined index" [duplicate]

This question already has answers here:
"Notice: Undefined variable", "Notice: Undefined index", "Warning: Undefined array key", and "Notice: Undefined offset" using PHP
(29 answers)
Closed 5 years ago.
[Errors][1]
I posted the code that I edited, and there are new errors w/c i didn't understand
Notice: Undefined index: product_brand in
C:\xampp\htdocs\JGMarketing\Admin_Area\insert_product.php on line 152
Notice: Undefined index: product_price in
C:\xampp\htdocs\JGMarketing\Admin_Area\insert_product.php on line 153
Notice: Undefined index: product_images in
C:\xampp\htdocs\JGMarketing\Admin_Area\insert_product.php on line 158
Notice: Undefined index: product_images in
C:\xampp\htdocs\JGMarketing\Admin_Area\insert_product.php on line 159
<!DOCTYPE>
<?php
include("includes/db.php");
?>
<html>
<head>
<title>Inserting Product</title>
<script src="https://cloud.tinymce.com/stable/tinymce.min.js"></script>
<script>tinymce.init({ selector:'textarea' });</script>
</head>
<body bgcolor="red">
<form action="insert_product.php"method="post"enctype=
"multipart/form/data">
<table align="center" width="700" border="5" bgcolor="white" >
<tr>
<td colspan="8"><h2 style="text-align:center;font-family:Arial;">
Insert New Post Here</h2></td>
</tr>
<tr>
<td align="right"><b>Product Name:</b></td>
<td><input type="text" name= "product_name" size="60" required />
</td>
</tr>
<tr>
<td align="right"><b>Product Category:</b></td>
<td>
<select name="product_cat" required>
<option>Select Category</option>
<?php
global $con;
$get_cat = "select * from categories";
$run_cat = mysqli_query($con, $get_cat);
while ($row_cat=mysqli_fetch_array($run_cat)){
$cat_id= $row_cat['cat_id'];
$cat_title= $row_cat['cat_title'];
echo "<li><option>$cat_title</option></li>";
}
?>
</select>
</td>
</tr>
<tr>
<td align="right"><b>Product Brand:</b></td>
<td>
<select name="product_brand" required>
<option>Select Brand</option>
<?php
global $con;
$get_brands = "select * from brands";
$run_brands = mysqli_query($con, $get_brands);
while ($row_brands=mysqli_fetch_array($run_brands)){
$brands_id= $row_brands['brand_id'];
$brands_title= $row_brands['brand_title'];
echo "<li><option>$brands_title</option></li>";
}
?>
</select>
</td>
</tr>
<tr>
<td align="right"><b>Product Image:</b></td>
<td><input type="file" name= "product_image" required /></td>
</tr>
<tr>
<td align="right"><b>Product Price:</b></td>
<td><input type="currency" name= "product_price" required/></td>
</tr>
<tr>
<td align="right"><b>Product Description:</b></td>
<td><textarea name="product_desc" cols="20" rows="10"></textarea>
</td>
</tr>
<tr>
<td align="right"><b>Product Keywords:</b></td>
<td><input type="text" name= "product_keywords" size="50"
required /></td>
</tr>
<tr align="center">
<td colspan="7"><input type="Submit" name= "insert_post" value="Insert
Product Here"/></td>
</tr>
</table>
</body>
</html>
<?php
if(isset($_POST['insert_post'])){
//getting text data
$product_name = $_POST['product_name'];
$product_cat = $_POST['product_cat'];
$product_brands = $_POST['product_brand'];
$product_price = $_POST['product_price'];
$product_desc = $_POST['product_desc'];
$product_keywords = $_POST['product_keywords'];
//getting image data
$product_image = $_FILES['product_images']['name'];
$product_image_tmp = $_FILES['product_images']['tmp_name'];
move_uploaded_file($product_image_tmp,"products_images/$product_image");
$insert_product = "insert into products
(product_cat,product_brands,product_name,product_price,product_desc,
product_img,product_keyword) values ('$product_cat','$product_brands'
,'$product_name','$product_price','$product_desc','$product_image'
,'$product_keywords')";
$run_product = mysqli_query($con,$insert_product);
if($run_product){
echo"<script>alert('Product Has been inserted')</script>";
echo"<script>window.open('insert_product.php','_self')</script>";
}
}
?>
You define your submit button name as "insert_post". But in if condition you take another name (if(isset($_POST['insert_product']))). Change the name.
try use like this...please make sure check your db connection and form action properly.
if(isset($_POST['insert_post'])){
//getting text data from fields
$product_name = $_POST['product_name'];
$product_cat = $_POST['product_cat'];
$product_brand = $_POST['product_brand'];
$product_price = $_POST['product_price'];
$product_desc = $_POST['product_desc'];
$product_keywords = $_POST['product_keywords'];
//getting image from fields
$product_image = $_FILES['product_image']['name'];
$product_image_tmp = $_FILES['product_image']['tmp_name'];
move_uploaded_file($product_image_tmp,"product_images/$product_image");
$insert_product="insert into products (product_cat,product_brand,product_name,product_price,product_desc,product_image,product_keywords) values('$product_cat','$product_brand','$product_name','$product_price','$product_desc','$product_image','$product_keywords')";
$insert_pro = mysqli_query($con, $insert_product);
if($insert_pro){
echo"alert('Product Has been inserted')";
echo"window.open('insert_product.php','_self')";
}
else{
echo "Something has gone wrong";
}
}
Your Query IS wrong:
$insert_product="insert into products
(product_cat,product_brand,product_name,product_price,product_desc,product_image,product_keywords) values('$product_cat','$product_brand','$product_name','$product_price',','$product_desc','$product_image','$product_keywords')";
Insert This Query:
$insert_product="insert into products
(product_cat,product_brand,product_name,product_price,product_desc,product_image,product_keywords) values('$product_cat','$product_brand','$product_name','$product_price','$product_desc','$product_image','$product_keywords')";

How to fix undefined variable in php [duplicate]

This question already has answers here:
"Notice: Undefined variable", "Notice: Undefined index", "Warning: Undefined array key", and "Notice: Undefined offset" using PHP
(29 answers)
Closed 6 years ago.
I'm trying to do the update function in php with a mysql database connected. I put the codes for update in a file called parcelEdit.php. Here's my code for parcelEdit.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Updating Parcel Details</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<?php
include('db.php');
if(isset($_POST['update']))
{
$parcelID = $_POST['parcelID'];
$owner = $_POST['owner'];
$rcv_date = $_POST['rcv_date'];
$pck_date = $_POST['pck_date'];
$status = $_POST['status'];
// checking empty fields
if (empty($parcelID) || empty($owner) || empty($rcv_date)||
empty($pck_date)|| empty($status)) {
if(empty($parcelID)) {
echo "<font color='red'>Parcel ID field is empty.</font><br/>";}
if(empty($owner)) {
echo "<font color='red'>Owner Name field is empty.</font><br/>";}
if(empty($rcv_date)) {
echo "<font color='red'>Received Date field is empty.</font><br/>";}
if(empty($pck_date)) {
echo "<font color='red'>Picked Up Date field is empty.</font><br/>";}
if(empty($status)) {
echo "<font color='red'>Parcel Status field is empty.</font><br/>";}
} else {
//updating the table
$result = mysql_query("UPDATE parcel SET parcelOwner = '$owner',
dateReceived = '$rcv_date', datePickup = '$pck_date', parcelStatus =
'$status' WHERE parcelID='$parcelID'");
//redirectig to the display page. In our case, it is index.php
header("Location: parcelView.php");
}
}
?>
<?php
//getting id from url
if(isset($_GET['parcelID'])){
$parcelID = $_GET['parcelID'];
}
//selecting data associated with this particular id
if(isset($parcelID)){
$result = mysql_query("SELECT * FROM parcel WHERE parcelID='$parcelID'");
while($res = mysql_fetch_array($result))
{
//$mem_id= $res['mem_id'];
$parcelID= $res['parcelID'];
$owner= $res['parcelOwner'];
$rcv_date= $res['dateReceived'];
$pck_date= $res['datePickup'];
$status= $res['parcelStatus'];
}}
?>
<body>
<body style='background: url(mailbox.jpg)'>
<div align="center">
<h1>Update Parcel Details</h1>
<form method="post" enctype="multipart/form-data">
<table>
<tr>
<Td> PARCEL ID : </td>
<td><input name="parcelID" type="text" id="parcelID" value=<?php
echo $parcelID;?>></td>
</tr>
<tr>
<Td> OWNER : </td>
<td><input name="owner" type="text" id="owner" value=<?php echo
$owner;?>></td>
</tr>
<tr>
<Td> DATE RECEIVED : </td>
<td><input name="rcv_date" type="text" id="rcv_date" value=<?php
echo $rcv_date;?>></td>
</tr>
<tr>
<Td> DATE PICKED UP : </td>
<td><input name="pck_date" type="text" id="pck_date" value=<?php
echo $pck_date;?>></td>
</tr>
<tr>
<Td> STATUS : </td>
<td><input name="status" type="text" id="status" value=<?php
echo $status;?>></td>
</tr>
<tr>
<Td colspan="2" align="center">
<input type="submit" value="Update Records" name="update"/>
</Td>
</tr>
</table>
</form>
</div>
</body>
</html>
And i got these errors
Notice: Undefined variable: parcelID in
C:\xampp\htdocs\psmtest1\parcelEdit.php on line 77
Notice: Undefined variable: owner in
C:\xampp\htdocs\psmtest1\parcelEdit.php on line 81
Notice: Undefined variable: rcv_date in
C:\xampp\htdocs\psmtest1\parcelEdit.php on line 85
Notice: Undefined variable: pck_date in
C:\xampp\htdocs\psmtest1\parcelEdit.php on line 89
Notice: Undefined variable: status in
C:\xampp\htdocs\psmtest1\parcelEdit.php on line 93
I honestly can't find ways to solve this even after referring to different code examples.
You can check that whether the variable is coming as you thinks or not . You can dump all variables sent using POST method with the help of var_dump() or print_r() like this -
<?php
include('db.php');
if(isset($_POST['update']))
{
echo '<pre>';
print_r($_POST);
echo '</pre>';
$parcelID = $_POST['parcelID'];
$owner = $_POST['owner'];
$rcv_date = $_POST['rcv_date'];
$pck_date = $_POST['pck_date'];
$status = $_POST['status'];
...
?>
and you can check the key in $_POST and do the required changes .
Try adding an else after your if(isset($parcelID)) condition
if(isset($_GET["parcelID"])){
$parcelID = mysql_real_escape_string($_GET["parcelID"]);
$result = mysql_query("SELECT * FROM parcel WHERE parcelID = '$parcelID'");
while($res = mysql_fetch_array($result))
{
//$mem_id = $res['mem_id'];
$parcelID = $res['parcelID'];
$owner = $res['parcelOwner'];
$rcv_date = $res['dateReceived'];
$pck_date = $res['datePickup'];
$status = $res['parcelStatus'];
}
} else {
$parcelID = '';
$owner = '';
$rcv_date = '';
$pck_date = '';
$status = '';
}
Too many isset() condition which I think could be lessen, so I removed the first if(isset($_GET["parcelID"])) condition and just go straight and replace the if(isset($parcelID)) with it.
Use mysqli_* extension instead of deprecated mysql_*.

Undefined index php error [duplicate]

This question already has answers here:
"Notice: Undefined variable", "Notice: Undefined index", "Warning: Undefined array key", and "Notice: Undefined offset" using PHP
(29 answers)
Closed 8 years ago.
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">Edit</td>
<td align="center">Delete</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.
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.
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.

Categories