2013-06-01 133 views
0

我正在构建一个购物车,并且在我的任务中我必须打印出客户购买的物品。我试图将这些项目存储在数组$_SESSION['items']中,但没有成功。我试过这个:

$_SESSION['items'][] = $item; 

但它没有工作。

请给点建议?

+0

这就是你需要的。这是如何“不工作”?数组永远不会被创建?你是否在正在修改$ _SESSION的地方正确使用session_start()? –

+1

你可能只需要在你的页面开始处做session_start(),并且生活会很好 – Orangepill

+1

确保你的'session_start'出现在任何HTML之前,否则它将不起作用。确保您的警告已启用,以便您可以看到会话初始化的任何问题。 – halfer

回答

1

你使用session_start()?在使用$_SESSION之前,您需要声明session_start()以保存会话变量中的值。

而且你正在使用一个会话阵列,所以使用print_r($_SESSION['items'])来看看它的输出,序访问,你需要太指定索引的数组值,例如

echo $_SESSION['items'][0] 
+0

是的,它被使用。 – dhssa

+0

@DilshatAbduwalli使用它,看看你得到了什么'print_r($ _ SESSION ['items'])' –

+0

为什么每个人都错误地说session_start的“页面顶部”? – 2013-06-01 06:43:19

1

使用session_start();申报会话。 和使用$_SESSION['items'][] = $item;

应该工作..

+0

不乞讨的页面,就在使用前的会议。 – 2013-06-01 06:44:51

+1

感谢衮..你是对的。:) –

+2

实际上,使用会话之前,任何输出之前... –

1

使用会话变量您在使用session_start(); 添加元素尝试启动会话$_SESSION['items'][]=$items;和打印会话变量尝试print_r($_SESSION['items'][]);

foreach ($_SESSION['items'][] as $item) 
{ 
     echo $item; 
} 
0
$_SESSION['req_id_in_sess'] = array(); 

$_SESSION['req_id_in_sess'] = $req_id; //$req_id is array 



foreach($_SESSION["req_id_in_sess"] as $key => $val) 
    { 

     echo $val,"<br/>"; 
    } 

//for single output 

echo $_SESSION["req_id_in_sess"][0]; 
0

在我的情况下,我增加了一些现有的基地$_SESSION变量。

例如,我最初只设置:

$_SESSION['amount'] = 4300 

然后我试图添加显示“子变量”:

$_SESSION['amount']['Display'] = $4,300.00. 

但是我发现,在第二操作改写的一部分基本变量。

此修复程序是明确的做的事情:

$_SESSION['amount']['Amount'] = 4300; 
$_SESSION['amount']['Display'] = $4,300.00 
相关问题