【问题标题】:Cookie update on second visit to page in php第二次访问 php 页面时的 Cookie 更新
【发布时间】:2012-10-24 02:56:58
【问题描述】:

我有一个案例,如果页面已经被访问,我想利用 cookie 重定向到另一个页面。但是我希望在“第二次”而不是在用户第一次访问该页面时完成。我的猜测是我需要以某种方式将 Cookie 与 Counter 合并,但我不知道该怎么做。这是我到目前为止所拥有的。

if (isset($_COOKIE['beenhereonce'])) {
   $redirect_url = "Location: home.php";
} else {
    setcookie("beenhereonce",time()+120);
    $redirect_url = "Location: form.php";
}

我希望在用户第二次访问该页面时设置beehereonce。我该如何改进以实现我的目标?

【问题讨论】:

    标签: php http cookies setcookie


    【解决方案1】:

    你可以在顶部试试这个:

    if (isset($_COOKIE['beenhereonce'])) {
       $redirect_url = "Location: home.php";
    }
    

    这是在底部:

    setcookie("beenhereonce",time()+120);
    

    这样,cookie 在第一个页面加载结束时设置,并在第二个页面加载时检查。

    【讨论】:

      【解决方案2】:

      您可以使用 cookie 来保持访问量,然后控制您的代码。

      // Checking if cookie exist
      if( isset($_COOKIE['visits']) )
      {
          // Checking if the user already visited the site
          if( $_COOKIE['visits'] >= 1 )
              $redirect_url = "Location: home.php";
      
          // Increasing cookie value
          setcookie("visits", $_COOKIE['visits'] + 1, time()+120);
      }
      else
      {
          // First visit
          $redirect_url = "Location: form.php";
          setcookie("visits", 1, time()+120);
      }
      

      【讨论】:

        【解决方案3】:

        您可以设置 cookie 的值。该值将计算页面被访问的次数。 然后您可以通过以下方式进行检查:

        if( isset($_COOKIE['cookiename']) )
        {    
            if( $_COOKIE['cookiename[count]'] == '2' ) {
                $redirect_url = "...";
            }
            else {
                $redirect_url = "...";
                setcookie("cookiename[count]", $_COOKIE['cookiename[count]'] + 1, time()+X);
            }
        }
        else {
            setcookie("cookiename[count]", 1, time()+X);
        }
        

        X 是您的 cookie 过期的时间

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-01-31
          • 1970-01-01
          • 2023-03-09
          • 2010-11-26
          • 1970-01-01
          • 1970-01-01
          • 2019-04-13
          • 1970-01-01
          相关资源
          最近更新 更多