为什么会话中丢失数据?

问题描述:

将会话传递给数组并使用foreach(循环)时数据丢失。丢失的数量是来自另一个页面的文字为什么会丢失这个? 使用循环的ID从获取到删除的项目(在另一页使用链接)为什么会话中丢失数据?

$cart = $_SESSION['cart']; 

$id = $_GET['id']; 

$arrcart = array(); 

$count=0; 
    $qty = intval($_POST['product_'.$product['product_id']]); 

if($id) 
{ 
foreach($cart as $keys) 
{ 
if($id != $keys['product_id']) 
{ 
     $arrcart[$count]=array('qty' => $qty, 
          'product_id' => $keys['product_id'],  
          "name" => $keys['name'], 
          "description" => $keys['description'], 
          "price" => $keys['price'], 
          "total" => $keys['price']*$qty 
          ); 
} 
     $count++; 
}`enter code here` 
$_SESSION['cart']=$arrcart; 
} 
</code> 
+0

你能解释一下你的代码是干什么的吗? – Gumbo 2010-02-28 12:57:01

+0

我不确定这是否是一个问题。你能否以更可读的方式重述这个问题? – mattbasta 2010-02-28 21:08:39

看你的代码,并采取刺伤在黑暗中,我看不到任何地方session_start()。试着把这个放在你的PHP代码的顶部:

session_start(); 
+0

我会在后面加上'session_start();'和'ob_start()'。另外需要指出的是,当你使用类似cms的软件时,不要将session_starts()添加到函数中,而是放在core-file之上。 – 2011-08-18 14:29:33