我有一个存储2个数组的会话,$ _SESSION [“info”]和$ _SESSION [“cart”]现在当用户注销信息会话被销毁时因此未设置($ _ SESSION [“info”]但是信息会话存储用户的ID,现在我正在尝试从info数组中检索该用户的ID,并在用户注销时将其存储在cookie中,因此当用户重新登录时,如果是userID存储在会话中的cookie与使用与该用户ID相关的购物车数组的cookie用户ID匹配。
到目前为止,这是我的logout.php:
$_COOKIE["userID"] = $_SESSION["info"]["id"];
unset($_SESSION["info"]);
在我的wishlist.phtml中:
<?php
if (isset($_SESSION["cart"])) {
if (count($_SESSION["cart"])>0) {
echo '<br><br>';
echo '<table class="table table-hover"><thead><tr>';
echo '<th>Owner</th><th>Car</th><th>Price</th><th class="text-center">Action</th> </tr>';
echo '</thead><tbody>';
foreach ($_SESSION["cart"] as $key => $wish) {
echo '<tr><td>' . $wish["username"]. '</td><td>' . $wish["car"]. '</td><td>' .$wish["price"]. '</td><td class="text-center"><a href="/removecar.php?car='.$key. '"><button id="view" type="button" class="btn btn-danger">x</button></a></td></tr>';
}
echo '</tbody></table>';
}
else {
echo '<div class="alert alert-danger">You do not have any cars in your wishlist.</div>';
};
}
?>
有谁知道我应该怎么做?
答案 0 :(得分:0)
$ _ COOKIE是只读数组,你需要使用setcookie之类的
setcookie('userID', $_SESSION["info"]["id"], time()+60*60*24*30, '/');
顺便说一下,您将无法将用户ID重新关联到会话,因此最好将整个购物车保存在数据库或cookie中