我正在为学校作业构建购物车。除了将商品添加到购物车变量之外,我几乎都有。将项目添加到数组PHP
我建立了我的购物车会话使用:$_SESSION['temp_session'] = array();
,然后,当一个项目被添加到购物车中,这个代码被执行
if (isset($_POST['addtocart'])) {
$item_name = $_POST['item_name'];
$price = $_POST['price'];
$qty = $_POST['qty'];
$newItem = $item_name.":".$price.":".$qty;
//echo $newItem;
if (isset($_SESSION['shop_session'])) {
array_push($shop_session, $newItem);
//header('Location: cart.php');
print_r($shop_session);
}
else {
array_push($temp_session, $newItem);
//header('Location: login.php?notLoggedIn=true');
print_r($temp_session);
}
}
这一切似乎使他能工作正常(我可以打印出$newItem
,它包含元素),但是当我尝试将$newItem
添加到$shop_session
或$temp_session
然后将其打印出来时,数组为空。
这是关于我使用的方式array_push()
?
感谢
@Anax如果你不不知道这与'register_globals'有什么关系,那么你从来没有遇到过用它编码过的脚本。 – random
啊,好的,谢谢你们。与print_r($ _ SESSION);我得到:Array([temp_session] => Array([0] => Apocalypso:10.00:2))。所以$ _SESSION是一个数组,并且它内部是另一个名为temp_session的数组?我如何将temp_sessions复制到shop_session?还有,我想foreach($ _SESSION ['shop_session']作为$ item)也不起作用吗? –
@ e.c.ho我最初的印象是,Alexey暗示在register_globals On的时候,每个会话变量都会自动作为独立变量提供,我认为这是不正确的。 – Anax