将项添加到数组PHP
我正在为学校作业做一辆购物车。除了将项目添加到cart变量之外,我几乎做到了这一点 我已使用以下命令设置购物车会话:将项添加到数组PHP,php,session,Php,Session,我正在为学校作业做一辆购物车。除了将项目添加到cart变量之外,我几乎做到了这一点 我已使用以下命令设置购物车会话:$\u session['temp\u session']=array() 然后,当一个项目被添加到购物车时,执行此代码 if (isset($_POST['addtocart'])) { $item_name = $_POST['item_name']; $price = $_POST['price']; $
$\u session['temp\u 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\u session
或$temp\u session
中,然后打印出来时,数组是空的
这与我使用array\u push()
的方式有关吗
谢谢你的电话接通了吗?如果没有,您必须使用
if (isset($_SESSION['shop_session'])) {
array_push($_SESSION['shop_session'], $newItem);
//header('Location: cart.php');
print_r($_SESSION);
}
else {
array_push($_SESSION['temp_session'], $newItem);
//header('Location: login.php?notLoggedIn=true');
print_r($_SESSION);
}
你的电话接通了吗?如果没有,您必须使用
if (isset($_SESSION['shop_session'])) {
array_push($_SESSION['shop_session'], $newItem);
//header('Location: cart.php');
print_r($_SESSION);
}
else {
array_push($_SESSION['temp_session'], $newItem);
//header('Location: login.php?notLoggedIn=true');
print_r($_SESSION);
}
你不能打字
$_SESSION['temp_session'] = array();
并希望有一个名为$temp_session的变量。您所拥有的只是一个数组($\u SESSION),其中包含一个元素(键名为temp\u SESSION
),该元素反过来也是一个数组
为了获得所需的结果,您需要添加一行,例如:
$temp_session = $_SESSION['temp_session'];
当您更新时,请再次回到您的会话:
$_SESSION['temp_session'] = $temp_session;
你不能打字
$_SESSION['temp_session'] = array();
并希望有一个名为$temp_session的变量。您所拥有的只是一个数组($\u SESSION),其中包含一个元素(键名为temp\u SESSION
),该元素反过来也是一个数组
为了获得所需的结果,您需要添加一行,例如:
$temp_session = $_SESSION['temp_session'];
当您更新时,请再次回到您的会话:
$_SESSION['temp_session'] = $temp_session;
@Anax如果你不知道这与register\u globals
有什么关系,那么你就从来没有遇到过一个用它编码的脚本。啊,好的,谢谢大家。使用打印(美元会话);我得到了:数组([temp_session]=>Array([0]=>Apocalypso:10.00:2))。所以$\u SESSION是一个数组,其中有另一个名为temp\u SESSION的数组?如何将临时会话复制到商店会话?另外,我猜foreach($会话['shop\u会话']作为$item)也不会起作用?@e.c.ho我最初的印象是Alexey暗示,在register\u globals打开的情况下,每个会话变量也会自动作为独立变量提供,我相信这不是真的。@Anax如果你不知道这与register\u globals
有什么关系,那么你就从来没有遇到过一个用它编码的脚本。啊,好的,谢谢大家。使用打印(美元会话);我得到了:数组([temp_session]=>Array([0]=>Apocalypso:10.00:2))。所以$\u SESSION是一个数组,其中有另一个名为temp\u SESSION的数组?如何将临时会话复制到商店会话?另外,我猜foreach($会话['shop\u会话']作为$item)也不会起作用?@e.c.ho我最初的印象是Alexey暗示,在register\u globals打开的情况下,每个会话变量也会自动作为独立变量提供,我认为这不是真的。