使用javascript将cookie存储在数组中(或使用cookie作为数组)

storing cookies in an array with javascript(or using cookie as an array)

本文关键字:数组 cookie javascript 存储 使用      更新时间:2023-09-26

编辑:我用PHP解决了这个问题。它很具体,但我想分享它,以备有人需要。首先,我没有给cookie提供任何特定的名称作为product_id,但我只给点击的product_id的变量"$ftc2",如下所示

onclick='"SetCookie('".$ftc2."', '".$ftc2."', 'expiry'); 

因此,每当用户点击任何产品时,都会创建一个新的cookie,其名称为product_id,比如name=2或name=32。

然后我在图表页面上创建了一个foreach,如下

<?php foreach($_COOKIE as $cookies) { echo $cookies; } ?> 

它现在显示了所有存储的cookie值(在我的情况下是产品ID),现在我可以随心所欲地操作它,并显示添加到图表中的所有产品。也许它很简单,很常见,但不知怎么的,我从早上起就找不到了

问题是:


我正在建立一个网上商店,我想做的是在showChart页面中显示所有点击的产品。(一个非常简单的页面,通过单击chart_icon向您显示添加到图表中的产品)。我试过几种常用的方法,但不知怎么的,我还是做不到。我最后一次绝望的尝试是创建这个addToChart()函数。

由于设置cookie部分效果良好,我简化了代码,只粘贴了重要部分(在我看来)。任何形式的帮助或建议都将不胜感激。我不希望有人替我写代码。

提前感谢

    for($i=0;$i<$num;$i++)
        {
            $ftc = mysql_result($result, $i, "product_image");
            $ftc2 = mysql_result($result, $i, "product_id");
            $ftc3 = mysql_result($result, $i, "product_name");
            $ftc4 = mysql_result($result, $i, "product_preis");
            $ftc5 = mysql_result($result, $i, "product_old_preis");
            echo "<a href='details.php?product=".$ftc2."'><div class='products_list'>
            <img width='217px' height='323px' src='".$ftc."'/>
            <div class='alt_yazi2'><b>".$ftc3 ." &nbsp;&nbsp;&nbsp;&nbsp <font      
style='float:right;'>".$ftc4."TL &nbsp;&nbsp<b style='text-decoration:line-through; float:right;'>".$ftc5."TL </b></font></b></a>
    </br>
    <div id='sepet'><a id='cookie' onclick='"SetCookie('"cookie_product"', '".$ftc2."', 'expiry');'" href='#'>
    <img width='35px' height='25px' src='images/cart_icon.png'/>

JAVASCRIPT代码从这里开始

var today=新日期();var expiry=新日期(today.getTime()+365*24*60*600*1000);

    function getCookieVal (offset) {
      var endstr = document.cookie.indexOf (";", offset);
      if (endstr == -1) { endstr = document.cookie.length; }
      return unescape(document.cookie.substring(offset, endstr));
      }
    function GetCookie (name) {
      var arg = name + "=";
      var alen = arg.length;
      var clen = document.cookie.length;
      var i = 0;
      while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
          return getCookieVal (j);
          }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
        }
      return null;
      }
    function SetCookie (name,value,expires,path,domain,secure) {
      document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
      }
    document.getElementById(cookie).onclick = function addToChart()
            {
                var cookieValue = document.getElementById(cookie).value;
                var cookiearray = new Array();
                cookiearray = cookieValue.split(",");
                return cookiearray;
            }

好的,我已经解决了PHP的问题。它很具体,但我想分享它,以防有人需要。

首先,我没有给cookie提供任何特定的名称作为product_id,但我只给点击的product_id的变量"$ftc2",如下所示

onclick='"SetCookie('".$ftc2."', '".$ftc2."', 'expiry');

因此,每当用户点击任何产品时,都会创建一个新的cookie,其名称为product_id,比如name=2或name=32。

然后我在图表页面上创建了一个foreach,如下

<?php 
foreach($_COOKIE as $cookies)
     {
             echo $cookies;
      }
?>

它现在显示所有存储的cookie值(在我的情况下是产品ID),现在我可以随心所欲地操作它,并显示添加到图表中的所有产品

也许这很容易,也很常见,但不知怎么的,从早上开始我就找不到了