Jump to content

Recommended Posts

inventory_list.php +Inventory Form returns an error when you try to submit a new inventory item.  Not sure what the probem is. I ran the syntax through a validator to make sure it had no errors. If anyone can help it would be greatly appriciated.

 

 

 

ERROR MESSAGE:

 

Notice: Undefined index: price in /home6/modeljew/public_html/storeadmin/inventory_list.php on line 32

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '','','','','',now())' at line 2

 

 

 

Inventory_list.php

<?php 
session_start();
if (!isset($_SESSION["manager"])) {
    header("location: admin_login.php"); 
    exit();
}
// Be sure to check that this manager SESSION value is in fact in the database
$managerID = preg_replace('#[^0-9]#i', '', $_SESSION["id"]); // filter everything but numbers and letters
$manager = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["manager"]); // filter everything but numbers and letters
$password = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["password"]); // filter everything but numbers and letters
// Run mySQL query to be sure that this person is an admin and that their password session var equals the database information
// Connect to the MySQL database  
include "../storescripts/connect_to_mysql.php"; 
$sql = mysql_query("SELECT * FROM admin WHERE id='$managerID' AND username='$manager' AND password='$password' LIMIT 1"); // query the person
// ------- MAKE SURE PERSON EXISTS IN DATABASE ---------
$existCount = mysql_num_rows($sql); // count the row nums
if ($existCount == 0) { // evaluate the count
    echo "Your login session data is not on record in the database.";
     exit();
}
?>
<?php
// Error Reporting
error_reporting(E_ALL);
ini_set('display_errors','1');
?>
<?php 
// Parse the form data and add inventory item to the system
if (isset($_POST['product_name'])) {
   
   $product_name = mysql_real_escape_string($_POST['product_name']);
   $price = mysql_real_escape_string($_POST['price']);
   $category = mysql_real_escape_string($_POST['category']);
   $subcategory = mysql_real_escape_string($_POST['subcategory']);
   $details = mysql_real_escape_string($_POST['details']);
   // See if that the product name is an identical match to another product in the system
   $sql = mysql_query("SELECT id FROM products WHERE product_name='$product_name' LIMIT 1");
   $productMatch = mysql_num_rows($sql); // count the output amount
   if ($productMatch > 0) {
      echo 'Sorry you tried to place a duplicate "Product Name" into the system, <a herf="inventory_list.php">click here</a>';
      exit();
   }
   // Add this product into the database now
   $sql = mysql_query("INSERT INTO products (product_name, price, details, category, subcategory, date_added)
      VALUES($product_name','$price','$details','$category','$subcategory',now())") or die (mysql_error());
   $pid = mysql_insert_id();
   // Place image in the folder
   $newname = "$pid.jpg";
   move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
}
?>
<?php 
// This block grabs the whole list for viewing
$product_list = "";
$sql = mysql_query("SELECT * FROM products");
$productCount = mysql_num_rows($sql); //count the output amount
if ($productCount > 0) {
   while($row = mysql_fetch_array($sql)){
      $id = $row["id"];
      $product_name = $row["product_name"];
      $product_list .="$id - $product_name<br />";
   }
} else {
   $product_list = "You have no products listed in your store yet";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inventory List</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" media="screen" />
</head>

<body>
<div align="center" id="mainWrapper">
  <?php include_once("../template_header.php");?>
  <div id="pageContent"><br />
    <div align="right" style="margin-right:32px;"><a href="inventory_list.php#inventoryForm">+ Add New Inventory Item</a></a></div>
<div align="left" style="margin-left:24px;">
      <h2>Inventory list</h2>
      <?php echo $product_list; ?>
    </div>
    <hr />
   <a name="inventoryForm" id="inventoryForm"></a>
   <h3>
    ↓Add New Inventory Item Form ↓
    </h3>
    <form action="inventory_list.php" enctype="multipart/form-data" name="myForm" id="myForm" method="post">
    <table width="90%"border="0" cellspacing="0" cellpadding="6">
      <tr>
        <td width="20%" align="right">Product Name</td>
        <td width="80%" align="left"><label>
        <input name="product_name" type="text" id="product_name" size="64" />
        </label></td>
      </tr>
      <tr>
        <td align="right">Product Price</td>
        <td align="left"><label>
        $
        <input name="textfield" type="text" id="textfield" size="12" />
        </label></td>
      </tr>
      <tr>
        <td align="right">Category</td>
        <td align="left"><label>
        <select name="category"id="category">
        <option value=""></option>
        <option value="Gold">Gold</option>
        <option value="Platinum">Platinum</option>
        <option value="Silver">Silver</option>
        </select>
        </label></td>
      </tr>
      <tr>
        <td align="right">Subcategory</td>
        <td align="left"><select name="subcategory" id="subcategory">
        <option value=""></option>
        <option value="Bracelets">Bracelets</option>
        <option value="Earings">Earings</option>
        <option value="Estate/Antique">Estate/Antique</option>
        <option value="Necklace">Necklace</option>
        <option value="Pendents">Pendents</option>
        <option value="Rings">Rings</option>
        <option value="Watches">Watches</option>
        </select></td>
      </tr>
      <tr>
        <td align="right">Product Details</td>
        <td align="left"><label>
        <textarea name="details" type="details" cols="64" rows="5"></textarea>
        </label></td>
      </tr>
       <tr>
        <td align="right">Product Image</td>
        <td align="left"><label>
        <input type="file" name="fileField" value="fileField" />
        </label></td>
      </tr> 
      <tr>
        <td> </td>
        <td align="left"><label>
        <input type="submit" name="button" id="button" value="SUBMIT ITEM" />
        </label></td>
      </tr>
      </table>
    </form>
    <h3><br />
    </h3>
  </div>
  <?php include_once("../template_footer.php");?>
</div>
</body>
</html>

 

MOD EDIT: code tags added.

 

[attachment deleted by admin]

Link to comment
https://forums.phpfreaks.com/topic/243553-inventory_listphp-inventory_form/
Share on other sites

I feel like chef Gordon Ramsay. Did you look at where the errors where occurring at in your code and TRY to find what was causing them? Both are very simple things.

 

The first one is in this line - $price = mysql_real_escape_string($_POST['price']); Where is $_POST['price'] coming from? Could you look at your form and try to determine why the price field is undefined.

 

The second one is in line 2 of your INSERT query statement. Could you look at your query statement and try to determine what is wrong with it near the first of the six data values.

ok i think i found and fixed the problem. now im getting a different messege when i try and run the page

 

 

 

ERROR MESSEGE:

 

Unknown column 'category' in 'field list'

 

 

 

 

 

Inventory_list.php

 

<?php

session_start();

if (!isset($_SESSION["manager"])) {

    header("location: admin_login.php");

    exit();

}

// Be sure to check that this manager SESSION value is in fact in the database

$managerID = preg_replace('#[^0-9]#i', '', $_SESSION["id"]); // filter everything but numbers and letters

$manager = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["manager"]); // filter everything but numbers and letters

$password = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["password"]); // filter everything but numbers and letters

// Run mySQL query to be sure that this person is an admin and that their password session var equals the database information

// Connect to the MySQL database 

include "../storescripts/connect_to_mysql.php";

$sql = mysql_query("SELECT * FROM admin WHERE id='$managerID' AND username='$manager' AND password='$password' LIMIT 1"); // query the person

// ------- MAKE SURE PERSON EXISTS IN DATABASE ---------

$existCount = mysql_num_rows($sql); // count the row nums

if ($existCount == 0) { // evaluate the count

echo "Your login session data is not on record in the database.";

    exit();

}

?>

<?php

// Error Reporting

error_reporting(E_ALL);

ini_set('display_errors','1');

?>

<?php

// Parse the form data and add inventory item to the system

if (isset($_POST['product_name'])) {

 

$product_name = mysql_real_escape_string($_POST['product_name']);

$price = mysql_real_escape_string($_POST['price']);

$category = mysql_real_escape_string($_POST['category']);

$subcategory = mysql_real_escape_string($_POST['subcategory']);

$details = mysql_real_escape_string($_POST['details']);

// See if that the product name is an identical match to another product in the system

$sql = mysql_query("SELECT id FROM products WHERE product_name='$product_name' LIMIT 1");

$productMatch = mysql_num_rows($sql); // count the output amount

if ($productMatch > 0) {

echo 'Sorry you tried to place a duplicate "Product Name" into the system, <a herf="inventory_list.php">click here</a>';

exit();

}

// Add this product into the database now

$sql = mysql_query("INSERT INTO products (product_name, price, details, category, subcategory, date_added)

VALUES('$product_name','$price','$details','$category','$subcategory',now())") or die (mysql_error());

$pid = mysql_insert_id();

// Place image in the folder

$newname = "$pid.jpg";

move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/$newname");

}

?>

<?php

// This block grabs the whole list for viewing

$product_list = "";

$sql = mysql_query("SELECT * FROM products ORDER BY date_added DESC");

$productCount = mysql_num_rows($sql); //count the output amount

if ($productCount > 0) {

while($row = mysql_fetch_array($sql)){

$id = $row["id"];

$product_name = $row["product_name"];

$date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));

$product_list .="$date_added - $id - $product_name       <a href='#'>edit • <a href='#'>delete</a><br />";

}

} else {

$product_list = "You have no products listed in your store yet";

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Inventory List</title>

<link rel="stylesheet" href="../style/style.css" type="text/css" media="screen" />

</head>

 

<body>

<div align="center" id="mainWrapper">

  <?php include_once("../template_header.php");?>

  <div id="pageContent"><br />

    <div align="right" style="margin-right:32px;"><a href="inventory_list.php#inventoryForm">+ Add New Inventory Item</a></a></div>

<div align="left" style="margin-left:24px;">

      <h2>Inventory list</h2>

      <?php echo $product_list; ?>

    </div>

    <hr />

<a name="inventoryForm" id="inventoryForm"></a>

<h3>

    ↓Add New Inventory Item Form ↓

    </h3>

    <form action="inventory_list.php" enctype="multipart/form-data" name="myForm" id="myForm" method="post">

    <table width="90%"border="0" cellspacing="0" cellpadding="6">

      <tr>

        <td width="20%" align="right">Product Name</td>

        <td width="80%"><label>

        <input name="product_name" type="text" id="product_name" size="64" />

        </label></td>

      </tr>

      <tr>

        <td align="right">Product Price</td>

        <td><label>

        $

        <input name="price" type="text" id="price" size="12" />

        </label></td>

      </tr>

      <tr>

        <td align="right">Category</td>

        <td><label>

        <select name="category" id="category">

        <option value=""></option>

        <option value="Gold">Gold</option>

        <option value="Platinum">Platinum</option>

        <option value="Silver">Silver</option>

        </select>

        </label></td>

      </tr>

      <tr>

        <td align="right">Subcategory</td>

        <td><select name="subcategory" id="subcategory">

        <option value=""></option>

        <option value="Bracelets">Bracelets</option>

        <option value="Earings">Earings</option>

        <option value="Estate/Antique">Estate/Antique</option>

        <option value="Necklace">Necklace</option>

        <option value="Pendents">Pendents</option>

        <option value="Rings">Rings</option>

        <option value="Watches">Watches</option>

        </select></td>

      </tr>

      <tr>

        <td align="right">Product Details</td>

        <td><label>

        <textarea name="details" type="details" cols="64" rows="5"></textarea>

        </label></td>

      </tr>

      <tr>

        <td align="right">Product Image</td>

        <td><label>

        <input type="file" name="fileField" value="fileField" />

        </label></td>

      </tr>

      <tr>

        <td> </td>

        <td align="left"><label>

        <input type="submit" name="button" id="button" value="SUBMIT ITEM" />

        </label></td>

      </tr>

      </table>

    </form>

    <h3><br />

    </h3>

  </div>

  <?php include_once("../template_footer.php");?>

</div>

</body>

</html>

ok i think i found and fixed the problem. now im getting a different messege when i try and run the page

 

 

 

ERROR MESSEGE:

 

Unknown column 'category' in 'field list'

 

 

 

 

 

Inventory_list.php

 

<?php 
session_start();
if (!isset($_SESSION["manager"])) {
    header("location: admin_login.php"); 
    exit();
}
// Be sure to check that this manager SESSION value is in fact in the database
$managerID = preg_replace('#[^0-9]#i', '', $_SESSION["id"]); // filter everything but numbers and letters
$manager = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["manager"]); // filter everything but numbers and letters
$password = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["password"]); // filter everything but numbers and letters
// Run mySQL query to be sure that this person is an admin and that their password session var equals the database information
// Connect to the MySQL database  
include "../storescripts/connect_to_mysql.php"; 
$sql = mysql_query("SELECT * FROM admin WHERE id='$managerID' AND username='$manager' AND password='$password' LIMIT 1"); // query the person
// ------- MAKE SURE PERSON EXISTS IN DATABASE ---------
$existCount = mysql_num_rows($sql); // count the row nums
if ($existCount == 0) { // evaluate the count
 echo "Your login session data is not on record in the database.";
     exit();
}
?>
<?php
// Error Reporting
error_reporting(E_ALL);
ini_set('display_errors','1');
?>
<?php 
// Parse the form data and add inventory item to the system
if (isset($_POST['product_name'])) {

$product_name = mysql_real_escape_string($_POST['product_name']);
$price = mysql_real_escape_string($_POST['price']);
$category = mysql_real_escape_string($_POST['category']);
$subcategory = mysql_real_escape_string($_POST['subcategory']);
$details = mysql_real_escape_string($_POST['details']);
// See if that the product name is an identical match to another product in the system
$sql = mysql_query("SELECT id FROM products WHERE product_name='$product_name' LIMIT 1");
$productMatch = mysql_num_rows($sql); // count the output amount
if ($productMatch > 0) {
	echo 'Sorry you tried to place a duplicate "Product Name" into the system, <a herf="inventory_list.php">click here</a>';
	exit();
}
// Add this product into the database now
$sql = mysql_query("INSERT INTO products (product_name, price, details, category, subcategory, date_added)
	VALUES('$product_name','$price','$details','$category','$subcategory',now())") or die (mysql_error());
$pid = mysql_insert_id();
// Place image in the folder
$newname = "$pid.jpg";
move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
}
?>
<?php 
// This block grabs the whole list for viewing
$product_list = "";
$sql = mysql_query("SELECT * FROM products ORDER BY date_added DESC");
$productCount = mysql_num_rows($sql); //count the output amount
if ($productCount > 0) {
while($row = mysql_fetch_array($sql)){
	$id = $row["id"];
	$product_name = $row["product_name"];
	$date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
	$product_list .="$date_added - $id - $product_name       <a href='#'>edit • <a href='#'>delete</a><br />";
}
} else {
$product_list = "You have no products listed in your store yet";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inventory List</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" media="screen" />
</head>

<body>
<div align="center" id="mainWrapper">
  <?php include_once("../template_header.php");?>
  <div id="pageContent"><br />
    <div align="right" style="margin-right:32px;"><a href="inventory_list.php#inventoryForm">+ Add New Inventory Item</a></a></div>
<div align="left" style="margin-left:24px;">
      <h2>Inventory list</h2>
      <?php echo $product_list; ?>
    </div>
    <hr />
<a name="inventoryForm" id="inventoryForm"></a>
<h3>
    ↓Add New Inventory Item Form ↓
    </h3>
    <form action="inventory_list.php" enctype="multipart/form-data" name="myForm" id="myForm" method="post">
    <table width="90%"border="0" cellspacing="0" cellpadding="6">
      <tr>
        <td width="20%" align="right">Product Name</td>
        <td width="80%"><label>
        <input name="product_name" type="text" id="product_name" size="64" />
        </label></td>
      </tr>
      <tr>
        <td align="right">Product Price</td>
        <td><label>
        $
        <input name="price" type="text" id="price" size="12" />
        </label></td>
      </tr>
      <tr>
        <td align="right">Category</td>
        <td><label>
        <select name="category" id="category">
        <option value=""></option>
        <option value="Gold">Gold</option>
        <option value="Platinum">Platinum</option>
        <option value="Silver">Silver</option>
        </select>
        </label></td>
      </tr>
      <tr>
        <td align="right">Subcategory</td>
        <td><select name="subcategory" id="subcategory">
        <option value=""></option>
        <option value="Bracelets">Bracelets</option>
        <option value="Earings">Earings</option>
        <option value="Estate/Antique">Estate/Antique</option>
        <option value="Necklace">Necklace</option>
        <option value="Pendents">Pendents</option>
        <option value="Rings">Rings</option>
        <option value="Watches">Watches</option>
        </select></td>
      </tr>
      <tr>
        <td align="right">Product Details</td>
        <td><label>
        <textarea name="details" type="details" cols="64" rows="5"></textarea>
        </label></td>
      </tr>
       <tr>
        <td align="right">Product Image</td>
        <td><label>
        <input type="file" name="fileField" value="fileField" />
        </label></td>
      </tr> 
      <tr>
        <td> </td>
        <td align="left"><label>
        <input type="submit" name="button" id="button" value="SUBMIT ITEM" />
        </label></td>
      </tr>
      </table>
    </form>
    <h3><br />
    </h3>
  </div>
  <?php include_once("../template_footer.php");?>
</div>
</body>
</html>
[/quote]

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.