我的函数重新创建一个cookie,即使它已经存在


My function recreates a cookie even if it already exists

你好,我有一个问题。

当没有可用的cookie时,我使用下面的函数创建一个cookie。

问题是,当浏览器被关闭或再次打开时,这个函数再次创建Cookie…即使它已经存在了……所以每次用户打开和关闭浏览器,这个cookie就会被创建一次又一次。

这对我来说真的很糟糕。如何避免这个问题?

我的函数出了什么问题?

感谢
 <?php
  function GenerateTuittingID()
  {
      $todaydate = date('Ymd');
      $time = mktime(date('G'), date('i'), date('s'));
      $NowisTime = date('Gis', $time);
      $random_numbers = substr(number_format(time() * rand(), 0, '', ''), 0, 10);
      $random = $random_numbers . $todaydate;
      if (!isset($_COOKIE["tuittingID"])) {
          setcookie("tuittingID", $random, mktime(0, 0, 0, 12, 31, 2015));
      }
  }
?>

我看你的代码没有问题

  • 问题在用户的浏览器
  • 脚本的另一部分有另一个问题

cookie 永远不能重复创建——

如果它已经存在,那么它将被覆盖,否则,如果它不存在,它将被创建。请确保浏览器在关闭时不会清除cookie。

1)打开浏览器设置,进入Privacy .

2)点击Use custom settings for history

3)确保Keep Until旁边的下拉框显示为They Expire。如果没有,更新它并按ok。

让我知道这是否解决了你的问题。

编辑(刚刚看到你的评论)

设置cookie的路径和域名,以便从整个网站访问它们:

setcookie("tuittingID", $random, mktime(0, 0, 0, 12, 31, 2015),
  '/', '.yourdomain.com');