Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果页面被访问超过5次,是否将访问者重定向到其他url?_Php_Session_Redirect_Cookies - Fatal编程技术网

Php 如果页面被访问超过5次,是否将访问者重定向到其他url?

Php 如果页面被访问超过5次,是否将访问者重定向到其他url?,php,session,redirect,cookies,Php,Session,Redirect,Cookies,如果用户访问页面超过5次,我会尝试重定向用户。 所以基本的想法是,如果一个用户没有登录到我的网站,并且他们正在浏览一个用户配置文件(profile.php),那么这将计算cookie会话的点击次数,并重定向到一个页面,说“注册”或其他什么 我是php新手,不知道从哪里开始。请有人给我看看。基本上,您应该能够在服务器端的会话变量或cookie中设置计数器。 每次访问个人资料页面时,增加该计数器。如果该计数器大于5,则使用phpheader函数将用户重定向到注册页面。下面是一个快速代码提示,提示您使

如果用户访问页面超过5次,我会尝试重定向用户。 所以基本的想法是,如果一个用户没有登录到我的网站,并且他们正在浏览一个用户配置文件(profile.php),那么这将计算cookie会话的点击次数,并重定向到一个页面,说“注册”或其他什么


我是php新手,不知道从哪里开始。请有人给我看看。

基本上,您应该能够在服务器端的会话变量或cookie中设置计数器。 每次访问个人资料页面时,增加该计数器。如果该计数器大于
5
,则使用php
header
函数将用户重定向到注册页面。下面是一个快速代码提示,提示您使用会话变量来实现此目的:

if(! isset($_SESSION["ProfileVisitCount"])){
    $_SESSION["ProfileVisitCount"] = 1;
}

$_SESSION["ProfileVisitCount"]++;

if($_SESSION["ProfileVisitCount"] > 5){
    header("Location: http://domain.com/signup");
    exit();
}
另外,请确保在这些代码之前使用
session\u start()
启动php会话

同样的事情也可以通过使用cookies实现,如下所示:

if(! isset($_COOKIE["ProfileVisitCount"])){
    setcookie("ProfileVisitCount", "1", time()+3600);
}

if($_COOKIE["ProfileVisitCount"] > 5){
    header("Location: http://domain.com/signup");
    exit();
}
else {
    setcookie("ProfileVisitCount", ($_COOKIE["ProfileVisitCount"] + 1), time()+3600);
}
工具书类

基本上,您应该能够在服务器端或cookie中的会话变量中设置计数器。 每次访问个人资料页面时,增加该计数器。如果该计数器大于
5
,则使用php
header
函数将用户重定向到注册页面。下面是一个快速代码提示,提示您使用会话变量来实现此目的:

if(! isset($_SESSION["ProfileVisitCount"])){
    $_SESSION["ProfileVisitCount"] = 1;
}

$_SESSION["ProfileVisitCount"]++;

if($_SESSION["ProfileVisitCount"] > 5){
    header("Location: http://domain.com/signup");
    exit();
}
另外,请确保在这些代码之前使用
session\u start()
启动php会话

同样的事情也可以通过使用cookies实现,如下所示:

if(! isset($_COOKIE["ProfileVisitCount"])){
    setcookie("ProfileVisitCount", "1", time()+3600);
}

if($_COOKIE["ProfileVisitCount"] > 5){
    header("Location: http://domain.com/signup");
    exit();
}
else {
    setcookie("ProfileVisitCount", ($_COOKIE["ProfileVisitCount"] + 1), time()+3600);
}
工具书类

    • 这在PHP中很容易实现。只需使用count值设置一个会话,并在每次访问后读取它。然后,如果计数为5或更多,则可以重定向。下面是一个示例代码

      !session_id() ? session_start() : null; if(!isset($_SESSION['page_access_count'])){ $_SESSION['page_access_count'] = 1; }elseif($_SESSION['page_access_count'] >= 5){ // redirect to signup page header('Location:/signup.php'); exit; } // increase the page access session value $_SESSION['page_access_count']++; ... !会话id()?session_start():null; 如果(!isset($\u会话['page\u access\u count'])){ $\会话['page\ u access\ u count']=1; }elseif($\会话['page\ u access\ u count']>=5){ //重定向到注册页面 标题('Location:/signup.php'); 出口 } //增加页面访问会话值 $\会话['page\ u access\ u count']++; ...
      这在PHP中很容易实现。只需使用count值设置一个会话,并在每次访问后读取它。然后,如果计数为5或更多,则可以重定向。下面是一个示例代码

      !session_id() ? session_start() : null; if(!isset($_SESSION['page_access_count'])){ $_SESSION['page_access_count'] = 1; }elseif($_SESSION['page_access_count'] >= 5){ // redirect to signup page header('Location:/signup.php'); exit; } // increase the page access session value $_SESSION['page_access_count']++; ... !会话id()?session_start():null; 如果(!isset($\u会话['page\u access\u count'])){ $\会话['page\ u access\ u count']=1; }elseif($\会话['page\ u access\ u count']>=5){ //重定向到注册页面 标题('Location:/signup.php'); 出口 } //增加页面访问会话值 $\会话['page\ u access\ u count']++; ...
      使用饼干。下面是我在PHP中的实现方式:

      <?php
      if (!isset($_COOKIE["cookie1"]))
      {
        setcookie(
        "cookie1",
        "1",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      }
      else{
        setcookie(
        "cookie2",
        "2",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      else{
        setcookie(
        "cookie3",
        "3",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      }
      else{
        setcookie(
        "cookie4",
        "4",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      }
      else{
        setcookie(
        "cookie5",
        "5",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      }
      else
      {
      header("Location: http://domain.com/signup");
      }
      }
      ?>
      
      
      
      确保用您的域名替换.example.com。如果您希望在使用带有“www”的域名或不使用“www”的域名运行它时,它可以正常工作,请保留“.”而不是“www”


      告诉我它是否有效。。。我可以随时修改它。

      使用cookies。下面是我在PHP中的实现方式:

      <?php
      if (!isset($_COOKIE["cookie1"]))
      {
        setcookie(
        "cookie1",
        "1",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      }
      else{
        setcookie(
        "cookie2",
        "2",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      else{
        setcookie(
        "cookie3",
        "3",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      }
      else{
        setcookie(
        "cookie4",
        "4",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      }
      else{
        setcookie(
        "cookie5",
        "5",
        time() + (20 * 365 * 24 * 60 * 60),
        '/',
        '.example.com'
      );
      }
      else
      {
      header("Location: http://domain.com/signup");
      }
      }
      ?>
      
      
      
      确保用您的域名替换.example.com。如果您希望在使用带有“www”的域名或不使用“www”的域名运行它时,它可以正常工作,请保留“.”而不是“www”


      告诉我它是否有效。。。我可以随时修改它。

      为什么设置多个cookie,而一个就足够了?@Arash Milani这听起来可能有点脏,但它可以工作。它可以做饼干。下一次访问,它创建一个新的,下一次访问,它创建一个新的,等等,直到第五个cookie重定向。这是我的计算方法。。。也许不是最好的。。。你的方法要好得多:为什么设置多个cookies,而一个就足够了?@Arash Milani这听起来可能有点脏,但它是有效的。它可以做饼干。下一次访问,它创建一个新的,下一次访问,它创建一个新的,等等,直到第五个cookie重定向。这是我的计算方法。。。也许不是最好的。。。你的方法要好得多:不要忘记选择并接受最适合你的答案!别忘了选择并接受最适合你的答案!