所以我在 session 中创建了一个数组,但是由于某种原因,当我尝试向其中添加内容时,它不再是一个数组。我不确定发生了什么。

添加项目

if(!isset($_SESSION['printsID']) && !isset($_SESSION['printsNum'])){
    $_SESSION['printsID']=array();
    array_push($_SESSION['printsID'],$_GET['itm']);
    $_SESSION['printsNum']=array();
    array_push($_SESSION['printsNum'],$_GET['num']);
    header('Location: google.com');
}
else{
    array_push($_SESSION['printsID'],$_GET['itm']);
    array_push($_SESSION['printsNum'],$_GET['num']);
    header('Location: http://www.repmofbla.com/SimmonsRedone/');
}

获得物品
if(isset($_SESSION['printsNum'])){
     $cartItems = array_sum($_SESSION['printsNum']);
     $cartItems += sizeof($_SESSION['artwork']);
}

else{
     $cartItems = sizeof($_SESSION['artwork']);
}

任何帮助都会很棒。感谢你们 :)

(我对 PHP 也不是最好的,所以我知道可能有一种更有效的方法来做到这一点。请尊重)

更多细节:零件在不同的页面上。奇怪的是当您第一次上传 get 脚本时它起作用了。一旦您使用 Add 脚本,它就会停止工作,然后数组不再“存在”,但是如果我重新上传 get 脚本,它会再次工作。这是我遇到过的最奇怪的事情。

最佳答案

那是因为,您正在尝试重定向到不同的域。重定向到不同的域不会将 session 向前推进。

10-06 08:02