I'm supposed to make a php program for an inventory management application.
I have the main program, as well as a test program to make sure everything is working properly
I do have the code working for the most part
inventory.php
class Product
{
// ----------------------------------------- Properties -----------------------------------------
private $product_name = "no name";
private $product_code = 0;
private $product_price = 0;
private $product_quantity = 0;
private $product_needs = "no needs";
private $error_message = "??";
// ---------------------------------- Set Methods ----------------------------------------------
function set_product_name($value)
{
$error_message = TRUE;
(ctype_alpha($value) && strlen($value) <= 20) ? $this->product_name = $value : $this->error_message = FALSE;
return $this->error_message;
}
function set_product_code($value)
{
$error_message = TRUE;
(ctype_digit($value) && ($value > 0 && $value <= 6)) ? $this->product_code = $value : $this->error_message = FALSE;
return $this->error_message;
}
function set_product_price($value)
{
$error_message = TRUE;
(ctype_digit($value) && ($value > 0 && $value <= 6)) ? $this->product_price = $value : $this->error_message = FALSE;
return $this->error_message;
}
function set_product_quantity($value)
{
$error_message = TRUE;
(ctype_digit($value) && ($value > 0 && $value <= 6)) ? $this->product_quantity = $value : $this->error_message = FALSE;
return $this->error_message;
}
function set_product_needs($value)
{
$error_message = TRUE;
(ctype_alpha($value) && strlen($value) <= 40) ? $this->product_needs = $value : $this->error_message = FALSE;
return $this->error_message;
}
// ----------------------------------------- Get Methods ------------------------------------------------------------
function get_product_name()
{
return $this->product_name;
}
function get_product_code()
{
return $this->product_code;
}
function get_product_price()
{
return $this->product_price;
}
function get_product_quantity()
{
return $this->product_quantity;
}
function get_product_needs()
{
return $this->product_needs;
}
function get_properties()
{
return "$this->product_name,$this->product_code,$this->product_price,$this->product_quantity,$this->product_needs.";
}
}
?>
lab.php
<?php
Require_once("inventory.php");
$lab = new Product;
// ------------------------------Set Properties--------------------------
$product_error_message = $lab->set_product_name('Hinge');
print $product_error_message == TRUE ? 'Name update successful<br/>' : 'Name update not successful<br/>';
$product_error_message = $lab->set_product_code('45435');
print $product_error_message == TRUE ? 'Code update successful<br />' : 'Code update not successful<br />';
$product_error_message = $lab->set_product_price('7.50');
print $product_error_message == TRUE ? 'Price update successful<br />' : 'Product update not successful<br />';
$product_error_message = $lab->set_product_quantity('75');
print $product_error_message == TRUE ? 'Quantity update successful<br />' : 'Quantity update not successful<br />';
$product_error_message = $lab->set_product_needs('Wrap in plastic');
print $product_error_message == TRUE ? 'Needs update successful<br/>' : 'Needs update not successful<br/>';
// ------------------------------Get Properties--------------------------
print $lab->get_product_name() . "<br/>";
print $lab->get_product_code() . "<br />";
print $lab->get_product_price() . "<br />";
print $lab->get_product_quantity() . "<br />";
print $lab->get_product_needs() . "<br />";
$product_properties = $lab->get_properties();
list($product_name, $product_code, $product_price, $product_quantity, $product_needs) = explode(',', $product_properties);
print "Name: $product_name. Code: $product_code. Price: $product_price. Quantity: $product_quantity. Needs: $product_needs";
?>
But the only thing that actually prints out is the name
Name update successful
Code update not successful
Product update not successful
Quantity update not successful
Needs update not successful
Hinge
0
0
0
no needs
Name: Hinge. Code: 0. Price: 0. Quantity: 0. Needs: no needs.
What part do I need to change to get everything to print?