将特定数组存储在cookie中

时间:2014-12-30 18:42:32

标签: php session cookies

我有一个存储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>';
     };

  }

?>

有谁知道我应该怎么做?

1 个答案:

答案 0 :(得分:0)

$ _ COOKIE是只读数组,你需要使用setcookie之类的

setcookie('userID', $_SESSION["info"]["id"], time()+60*60*24*30, '/');
顺便说一下,您将无法将用户ID重新关联到会话,因此最好将整个购物车保存在数据库或cookie中