所以我在会话中创建了一个数组,但出于某种原因,当我尝试向其添加内容时,它不再是一个数组。我不确定发生了什么。
添加项目
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脚本它退出工作,然后数组不再#34;存在",但如果我重新上载get脚本它再次工作。这是我遇到过的最奇怪的事情。
答案 0 :(得分:2)
那是因为,您正试图重定向到不同的域。重定向到不同的域并不会带来会话。
答案 1 :(得分:0)
我让它在一个空白的PHP中使用这个代码,尝试一下 - 也许可以帮助你解决问题,但它完全适用于我自己。
<form action="currentPage.php" method="get">
<button name="itm" value="ball">Ball</button>
<input type="hidden" name="num" value="1234">
</form>
<br />
<form action="currentPage.php" method="get">
<button name="itm" value="box">Box</button>
<input type="hidden" name="num" value="4321">
</form>
<br />
<?php
session_start();
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']);
}
else {
array_push($_SESSION['printsID'],$_GET['itm']);
array_push($_SESSION['printsNum'],$_GET['num']);
}
print_r(array_values($_SESSION['printsID']));
print_r(array_values($_SESSION['printsNum']));
?>