php - 根据 PHP 中的部分名称检查 cookie 是否存在
问题描述
我设置了一个cookie。我想添加多个 cookie,每个项目一个,并在每个值中包含这些项目的数量(这是一个购物车)。我的问题是,我如何(例如)根据 cookie 名称检查有多少项目。我不能只计算所有 cookie,因为我也有用于其他目的的 cookie。
你可以看到我是如何设置它们的——这可能会提供一些清晰的信息。我可以确认 cookie 确实按照我的预期设置。在尝试按名称识别这些 cookie 时,我只是不知道从哪里开始。
if (!isset($_COOKIE['cart_item_' . $_GET['itemadd']])){
//if cookie doesn't, create one
setcookie($cookie_name, "1", time() + 86400, "/");
//echo "did i get here";
}else{
//if cookie does, add to quantity
if (!isset($_GET['quantity'])){
$cookie_value = $_COOKIE['cart_item_' . $_GET['itemadd']] + 1;
}else{
$cookie_value = $_GET['quantity']; //cookie value is the number of items being added
}
//echo "CN:" . $cookie_name . " - CV:" . $cookie_value;
setcookie($cookie_name, $cookie_value, time() + (86400), "/"); // 86400 = 1 day
解决方案
您可以将 Session 用于购物车。我希望以下代码对您有所帮助:
if(!isset($_SESSION['some_product_id'])){
$data = array(
'product_name' => 'some product name',
'quantity' => 5, //some quantity,
'other_things' => 'Some other values',
);
$_SESSION['some_product_id'] = $data;
}else{
echo 'Product Name: '. $_SESSION['some_product_id']['product_name'] . '<br>';
echo 'Product Quantity: '. $_SESSION['some_product_id']['quantity'] . '<br>';
echo 'other_things: '. $_SESSION['some_product_id']['other_things'] . '<br>';
}
推荐阅读
- c++ - 如何显示当前级别的节点?
- algorithm - 根据身高安排足球队中的球员
- esb - MQ 和 ESB 的区别
- java - 在 HTML 文件中为 Tomcat 中的 .war 文件引用 servlet
- c# - C#:如何使用 varbinary(Max) 将图像上传到 SQL Server 数据库
- react-native - 为什么使用 Apollo 进行客户端查询会导致网络错误?
- java - 双重验证
- gnome-terminal - 如何从源代码构建 gnome-terminal?
- chart.js - 将 Chart.js 与 TypeScript 一起使用时如何使用 legendCallback 或类似方法
- database - Oracle 数据库外键约束