As per title, I have a problem when adding products to the cart: it would show a window message that says that the product has been added, but in truth it is not there. It gives the following error: Fatal error: Cannot use object of type stdClass as array .
La linea di codice e’:
Here is the code file reserve.php :
[php]
<?php session_start(); ini_set('display_errors', 1); $connect = mysqli_connect('127.0.0.1', 'root', '***********', 'Community Garden List'); if (isset($_POST['add'])) { if (isset($_SESSION['cart'])) { $item_array_id = array_column($_SESSION['cart'], 'product_id'); if (!in_array($_GET['id'], $item_array_id)) { $count = count($_SESSION['cart']); $item_array = array( 'product_id' => $_GET['id'], 'item_name' => $_POST['hidden_name'], 'product_price' => $_POST['hidden_price'], 'item_quantity' => $_POST['quantity'], ); $_SESSION['cart'][$count] = $item_array; echo ''; } else { echo ''; echo ''; } } else { $item_array = array( 'product_id' => $_GET['id'], 'item_name' => $_POST['hidden_name'], 'product_price' => $_POST['hidden_price'], 'item_quantity' => $_POST['quantity'], ); $_SESSION['cart'][0] = $item_array; } } if (isset($_GET['action'])) { if ($_GET['action'] == 'delete') { foreach ($_SESSION['cart'] as $keys => $value) { if ($value['product_id'] == $_GET['id']) { unset($_SESSION['cart'][$keys]); echo ''; echo ''; } } } } ?>?>[/php]
html code
[php]<?php
$query = ‘SELECT * FROM product ORDER BY serial ASC’;
$result = mysqli_query($connect, $query);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
?>
<img src="<?php echo $row['image']; ?>" class="img-responsive" style="width:100%;>
<h5 class="text-info"><?php echo $row['pname']; ?></h5>
<h5 class="text-danger">€ <?php echo $row['price']; ?></h5>
<h5 class="text-info"><?php echo $row['pdescription']; ?></h5>
<input type="text" name="quantity" class="form-control" value="1">
<input type="hidden" name="hidden_name" value="<?php echo $row['pname']; ?>">
<input type="hidden" name="hidden_price" value="<?php echo $row['price']; ?>">
<input type="hidden" name="hidden_pdescription" value="<?php echo $row['pdescription']; ?>">
<input type="submit" name="add" style="margin-top:5px;" class="btn btn-success" value="Add to Bag">
</div>
</form>
</div>
<?php
}
[/php]
I’ve tried print “”; var_dump($row); exit;
after this line: foreach e($_SESSION[‘cart’] as $key => $value) { and it comes a table with NULL inside. What does that mean?
Before that, i tried to change $value[‘item_name’] with $value->item_name , and i got the following error:
Notice: Undefined property: stdClass::$item_name in
Will you please help me to understand what’s wrong?thank you.