即使已经存在,我的函数也会重新创建cookie

时间:2011-07-28 23:22:57

标签: php setcookie

您好我有问题。

当没有人可用时,我使用以下函数创建一个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));
      }
  }
?>

3 个答案:

答案 0 :(得分:1)

我发现您的代码没有问题

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

答案 1 :(得分:1)

Cookie可以从不一次又一次地创建 -

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

答案 2 :(得分:0)

1)打开浏览器设置,转到Privacy

2)点击Use custom settings for history

3)确保Keep Until旁边的下拉列表They Expire。如果没有,请更新它并按好。

4)如果这解决了你的问题,请告诉我。

修改(刚刚看到您的评论)

在Cookie上设置路径和域,以便可以从整个站点访问它们:

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