由于您提到的原因,您根本不应该通过 IP 地址识别个人 - 多个用户可以在同一个网络上。相反,使用会话或cookie来存储此信息。由于您希望在用户关闭浏览器窗口之后存储此信息,因此您应该使用 cookie,因为它们更持久。
如何在 cookie 中存储购物车详细信息的示例如下所示:
<?php
setcookie("cart", "item, another item, yet another item", time()+3600*24*365*10, '/');
?>
然后你可以使用explode
来获取所有的物品。
<?php
foreach (explode(",", $_COOKIE['cart']) as $item) {
echo trim($item); // Will output each item in the cookie cart
}
?>
或者,如果您想将每个项目存储在单独的 cookie 中,您也可以这样做:
<?php
// It doesn't matter what you name the cookies in this case as you will be looping through all of them, you just need a unique string
setcookie("item 1", "item name 1", time()+3600*24*365*10, '/');
setcookie("item 2", "item name 2", time()+3600*24*365*10, '/');
setcookie("item 3", "item name 3", time()+3600*24*365*10, '/');
// Need page reload to access cookies
foreach ($_COOKIE as $item) {
echo $item;
}
?>
关于 cookie 的重要说明:您不能在设置 cookie 的同时访问它;您必须在两者之间重新加载页面。