Undefined index php error [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 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.

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.

POST method error in php while creating the 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 6 years ago.
This is my form in HTML.
<html>
<head>
</head>
<body>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form id="form" name="form" method="POST" action="add_new_topic.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3" bgcolor="#E6E6E6"><strong>Create New Topic</strong> </td>
</tr>
<tr>
<td width="14%"><strong>Topic</strong></td>
<td width="2%">:</td>
<td width="84%"><input name="topic" type="text" id="topic" size="50" /></td>
</tr>
<tr>
<td valign="top"><strong>Detail</strong></td>
<td valign="top">:</td>
<td><textarea name="detail" cols="50" rows="3" id="detail"></textarea></td>
</tr>
<tr>
<td><strong>Name</strong></td>
<td>:</td>
<td><input name="name" type="text" id="name" size="50" /></td>
</tr>
<tr>
<td><strong>Email</strong></td>
<td>:</td>
<td><input name="email" type="text" id="email" size="50" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Submit" />
<input type="reset" name="Submit2" value="Reset" /></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
</body>
</html>
This is add_new_topic.php code.
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="myforum"; // Database name
$tbl_name="fquestions"; // Table name
// Connect to server and select database.
$con = mysqli_connect("$host", "$username", "$password" , "$db_name");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_select_db($con,"$db_name")or die("cannot select DB");
// get data that sent from form
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$name=$_POST['name'];
$email=$_POST['email'];
$datetime=date("d/m/y h:i:s"); //create date time
$sql="INSERT INTO '$tbl_name'('topic',' detail', 'name', 'email', 'datetime')VALUES('topic', 'detail', 'name', 'email', 'datetime')";
$result=mysqli_query($con,$sql);
if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
}
else {
echo "ERROR";
}
mysqli_close($con);
?>
It shows the error :
Notice: Undefined index: topic in
C:\xampp\htdocs\myforum\add_new_topic.php on line 18
Notice: Undefined index: detail in
C:\xampp\htdocs\myforum\add_new_topic.php on line 19
Notice: Undefined index: name in
C:\xampp\htdocs\myforum\add_new_topic.php on line 20
Notice: Undefined index: email in
C:\xampp\htdocs\myforum\add_new_topic.php on line 21 ERROR
HERE,on line 18,19,20 and 21 the following code lies.
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$name=$_POST['name'];
$email=$_POST['email'];
Now what is the error in this POST method?
before getting post value add a condition if post value is not empty like this:
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="myforum"; // Database name
$tbl_name="fquestions"; // Table name
if(isset($_POST) && !empty($_POST)){
// Connect to server and select database.
$con = mysqli_connect("$host", "$username", "$password" , "$db_name");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_select_db($con,"$db_name")or die("cannot select DB");
// get data that sent from form
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$name=$_POST['name'];
$email=$_POST['email'];
$datetime=date("d/m/y h:i:s"); //create date time
$sql="INSERT INTO '$tbl_name'('topic',' detail', 'name', 'email', 'datetime')VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
}
else {
echo "ERROR";
}
mysqli_close($con);
}
?>

Receiving empty form values using php and post [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 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'];

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: [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 7 years ago.
I get this error:
Notice: Undefined index: gender \form.php on line 26.please help..how solve this error..?
how get from form employee gender male or female and insert MySQL database
**my html code**
<form action="form.php" method="post">
<table border="1">
<tr>
<td align="center">Form Input Employees Data</td>
</tr>
<tr>
<td>
<table>
<form method="post" action="form.php">
<tr>
<td>Name</td>
<td><input name="employe_name" type="text" id="employe_name" size="20">
</td>
</tr>
<tr>
<td>Address</td>
<td><input name="employe_add" type="text" id="employe_add" size="40">
</td>
</tr>
<tr>
<td height="23">Gender</td>
<td>Male<input type="radio" name="gender"value="m" />
Female<input type="radio" name="gender"value="f"/>
</td></tr>
<td>
<td align="right"><input type="submit"
name="submit" value="Submit"> add</td>
</tr>
</table>
</td>
</tr>
</table></form>
And
my PHP code is...
<?php
//Open a new connection to the MySQL server
$mysqli = new mysqli('localhost','root','','employe');
//Output any connection error
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}else{
echo"connection good";
}
if(isset($_POST['gender']))
{
$gender=$_POST['gender'];
echo("your are select" .$gender);
}
//get values from form
$employe_name=$_POST['employe_name'];
$employe_add=$_POST['employe_add'];
$gender=$_POST['gender'];
//insert data into mysql
$sql = "INSERT INTO employe_detail(employe_name,employe_add,gender) VALUES('$employe_name','$employe_add','$gender')";
print '<h3>Insert a record</h3>';
if($sql)
{
print 'Success! ID of last inserted record is : ' .$mysqli->insert_id .'<br />';
}else{
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
$mysqli->close();
?>
please help me............
Change your code from
if(isset($_POST['gender']))
{
$gender=$_POST['gender'];
echo("your are select" .$gender);
}
//get values from form
$employe_name=$_POST['employe_name'];
$employe_add=$_POST['employe_add'];
$gender=$_POST['gender'];
To
$gender = "";
if(isset($_POST['gender']))
{
$gender=$_POST['gender'];
echo("your are select" .$gender);
}
//get values from form
$employe_name=$_POST['employe_name'];
$employe_add=$_POST['employe_add'];
gender will be assigned or will be left blank

Categories