如何设置Cookie的多个值并将它们全部显示在另一页上?

时间:2018-08-13 16:09:20

标签: javascript php cookies

我的网站上有一个产品数据库,每个产品都有唯一的部件号。

我最近在我的网站上创建了一个cookie,称为“部件号”,其值是从数据库中为其分配的部件号的值。

这是我当前拥有的代码,它正在生成一个Cookie,其Cookie的值将分配给我所在的产品页面:

<script type="text/javascript">
    <?php
        // LOAD REQUIRED WP PLUGIN class
        include_once( ABSPATH . 'wp-admin/includes/plugin.php' );

            // DO PLUGIN ACTIVATION CHECK
            if ( is_plugin_active('product-item-templates/product-item-templates.php') ) {
        // Product Items Template is LOADED >>
    ?>
    <?php   

            $item = $new_url->get_page_url_data();
            $pn = $item['pn'];
            $man = $item['man'];
            $model = $item['model'];
    ?>

        var pn = "<?php echo $pn;?>";
        var model = "<?php echo $model;?>";
        var man = "<?php echo $man;?>";

        Cookies.set("partnumber", pn , { expires: 7 });

    <?php
            } // END PLUGIN ACTIVATED CHECK
    ?>
</script>

因此,例如,如果用户访问部件号为“ ABC”的产品页面,则名称为“ partnumber”的cookie将保存为“ ABC”。

我要这样做的原因是能够使用名为“添加到报价”的按钮来触发Cookie,该按钮随后会将Cookie的值调用到“我的报价”页面。但是,每次我访问新的零件号页面时,该cookie都会简单地用新值替换“ partnumber” cookie的值。

我的问题:

是否可以保存同一Cookie的多个值?或说出同一Cookie的最多10个值?

如果没有,那么任何人都可以通过其他方法来保存此独特信息并将其显示在另一页上,以便用户可以浏览我的产品,单击“添加到报价”按钮,然后转到“我的”报价”页面,查看他们已添加到报价中的零件号列表。

注意:我知道如何为cookie设置值,但是我想知道如何为同一个cookie设置多个不同的值-或者,如何告诉网站使用一个新的cookie每次我单击网站上的按钮时,都会获得不同的值(该值是现有的并且来自我的产品数据库)。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以存储已存储的partnumbers的值以及可以从中直接推导出的键。我在考虑partnumbers的键,该键的值应为"4,5,8",其中您有partnumber4partnumber5partnumber8之类的键。因此,您首先从cookie中获得partnumbers的值,调用.split(","),然后迭代结果数组以分别获取partnumber4partnumber5partnumber8。如果要存储一个新的部件号,例如11,只需将partnumbers设置为先前的值,并为其添加11(如果不为空,则在11之前添加一个逗号)和partnumber11