Reputation: 199
I'm testing out this simple shopping cart code and for some reason it doesn't seem to work. I've created 3 pages, 1st page contains:
<a href="add-to-cart.php?id=1">Item 1</a><br><br>
<a href="add-to-cart.php?id=2">Item 2</a><br><br>
<a href="add-to-cart.php?id=3">Item 3</a><br><br>
On the 2nd (add-to-cart.php) page:
<?php
session_start();
if(empty($_session['cart'])){
$_session['cart'] = array();
}
array_push($_session['cart'], $_GET['id']);
?>
<br><br>
Product is succesfully added to cart.
<a href="cart.php">View Cart Items</a>
Finally, on the 3rd (cart.php) page:
<?php
session_start();
var_dump($_session['cart']);
?>
Instead of array, i get this error:
Notice: Undefined variable: _session in C:\xampp\htdocs\projects\add_to_cart\independent\compare.php on line 4
NULL
Upvotes: 0
Views: 598
Reputation: 59691
You have to write session in capital letters like:
$_SESSION["cart"]
and not:
$_session["cart"] //if you write it like this it's a normal array
So your code should look like this:
add-to-cart.php:
<?php
session_start();
if(empty($_SESSION['cart'])){
$_SESSION['cart'] = array();
}
array_push($_SESSION['cart'], $_GET['id']);
?>
<br><br>
Product is succesfully added to cart.
<a href="cart.php">View Cart Items</a>
cart.php:
<?php
session_start();
var_dump($_SESSION['cart']);
?>
For more information see: http://php.net/manual/en/reserved.variables.session.php
Upvotes: 1
Reputation: 11412
Use $_SESSION
in uppercase. Variable names are case sensitive in PHP.
Upvotes: 0