Setting and retrieving $_SESSION data?!

I’m pulling my hair out as to why this won’t work!

It just returns no value at all! :confused:

Any help greatly appreciated!

// Grab shopping cart session if it exists

if(isset($_SESSION['cart_id_set'])) {

$getbasket = mysql_query("SELECT * FROM `store_basket` WHERE `id` = '".$_SESSION['cart_id']."'") or die(mysql_error()); 
$basket = mysql_fetch_assoc($getbasket);

echo"I'm basket ".$_SESSION['cart_id'];

// Create shopping cart session if it does not exist yet..

} else {

$current2 = time(); //Current timestamp
$countcarts = mysql_query("SELECT MAX(id) FROM `store_basket`") or die(mysql_error()); 
$newcartid = '$countcarts++';

$createcart = mysql_query("INSERT INTO `store_basket` (`id`, `timestamp`) VALUES('$newcartid', '$current2')") or die(mysql_error());

$getbasketid = mysql_query("SELECT * FROM `store_basket` WHERE `id` = '$newcartid'") or die(mysql_error()); 
$basketid = mysql_fetch_array($getbasketid);

$sessionvalue = "$basketid[id]";

$_SESSION['cart_id'] = $sessionvalue;
$_SESSION['cart_id_set'] = 'yes';

}

Thank you so much, works perfectly! :smiley:
If you could +REP on this forum, I would!

Add

session_start();

after

<?php

your else statement should be :slight_smile:


$current2 = time(); //Current timestamp
$countcarts = mysql_query("SELECT MAX(id) FROM `store_basket`") or die(mysql_error()); 
$newcartid = $countcarts++;
$createcart = mysql_query("INSERT INTO `store_basket` (`id`, `timestamp`) VALUES('" . mysql_real_escape_string($newcartid) . "', '" . $current2 . "')") or die(mysql_error());

$getbasketid = mysql_query("SELECT * FROM `store_basket` WHERE `id` = '" . mysql_real_escape_string($newcartid) . "'") or die(mysql_error()); 
$basketid = mysql_fetch_array($getbasketid);

$sessionvalue = $basketid['id'];

$_SESSION['cart_id'] = $sessionvalue;
$_SESSION['cart_id_set'] = 'yes';

thanks, I just run quickly through with this, please let me know if you need further explanation :slight_smile:

you can remove `
free your result
just use mysql_insert_id() to retrieved the last inserted id

:slight_smile:


$current2 = time(); //Current timestamp
$countcarts = mysql_query("SELECT MAX(id) AS maximumId FROM `store_basket") or die(mysql_error());
$totalCarts = mysql_fetch_object($countcarts);
$new_totalCarts = ($totalCarts->maximumId+1);

$createcart = mysql_query("INSERT INTO `store_basket` (`id`, `timestamp`) VALUES('" . mysql_real_escape_string($new_totalCarts) . "', '" . $current2 . "')") or die(mysql_error());
$basketid = mysql_insert_id();

$sessionvalue = $basketid;

$_SESSION['cart_id'] = $sessionvalue;
$_SESSION['cart_id_set'] = 'yes';

Thanks for the help but this hasn’t worked it returns the error:

Warning: mysql_real_escape_string() expects parameter 1 to be string, resource given in /home/—/public_html/—/store_basket.php on line 30

Warning: mysql_real_escape_string() expects parameter 1 to be string, resource given in /home/—/public_html/—/store_basket.php on line 32
0 Items - £0.00 Check Out

I should post my whole page contents which are:

&lt;?php
session_start();
include("dbstore.php"); 

$storeurl = addslashes($_GET['url']);
$productid = addslashes($_GET['id']);

$getstore = mysql_query("SELECT * FROM `store` WHERE `url` = '$storeurl'") or die(mysql_error()); 
$store = mysql_fetch_array($getstore);



// Grab shopping cart session if it exists

if(isset($_SESSION['cart_id_set'])) {

$getbasket = mysql_query("SELECT * FROM `store_basket` WHERE `id` = '".$_SESSION['cart_id']."'") or die(mysql_error()); 
$basket = mysql_fetch_assoc($getbasket);

echo"I'm basket ".$_SESSION['cart_id'];

// Create shopping cart session if it does not exist yet..

} else {

$current2 = time(); //Current timestamp 
$countcarts = mysql_query("SELECT MAX(id) FROM `store_basket`") or die(mysql_error());
$newcartid = $countcarts++; 
$createcart = mysql_query("INSERT INTO `store_basket` (`id`, `timestamp`) VALUES('" . mysql_real_escape_string($newcartid) . "', '" . $current2 . "')") or die(mysql_error()); 

$getbasketid = mysql_query("SELECT * FROM `store_basket` WHERE `id` = '" . mysql_real_escape_string($newcartid) . "'") or die(mysql_error());
$basketid = mysql_fetch_array($getbasketid); 

$sessionvalue = $basketid['id']; 

$_SESSION['cart_id'] = $sessionvalue; 
$_SESSION['cart_id_set'] = 'yes'; 

}



if(isset($_GET['addtocart'])) { 

echo"&lt;div id=\\"basket\\"&gt;0 Items - &#163;0.00&nbsp;&nbsp;&lt;u&gt;Check Out&lt;/u&gt;&lt;/div&gt;";


}


else {


echo"&lt;div id=\\"basket\\"&gt;0 Items - &#163;0.00&nbsp;&nbsp;&lt;u&gt;Check Out&lt;/u&gt;&lt;/div&gt;";


}

?&gt;