0

我有一个问题,我有一个 index.php 页面,它是我网站的介绍,当介绍开始和完成时,它会重定向到我的 home.php 页面,但我想让这个介绍页面只由用户出现一次或通过计算机,如果用户已经访问过介绍页面,他将被重定向到主页,而不会转到 index.php(介绍)页面。我怎样才能在php中实现它?

4

4 回答 4

1
index.php

if(isset($_COOKIE['visit'])){
header("Location:home.php");
}

Your Intro

setCookie("visit","1",time()+60*60*7*12);
于 2012-06-16T09:42:36.840 回答
0

没有 100% 的方法可以做到这一点。您可以使用$_SESSION$_COOKIE保存当前用户的一些数据(例如,他或她访问过该站点),但如果他在不同的浏览器中打开您的站点,他会再次看到介绍。用户还可以清除 cookie,这样他或她会再次看到介绍。

如果您的站点实现了会员资格,用户可以在其中保持登录状态,那么您可以将此信息存储在数据库(或其他数据源)中,因此用户将看不到介绍(除非他注销)。

使用 session 为当前用户存储一些信息的示例(它不需要会员资格或喜欢,它会起作用,因为每个访问您网站的用户都会保存数据):

<?php
    // index.php
    // if you prefer to use cookies instead of sessions
    // then replace $_SESSION with $_COOKIE
    $hasVisited = ($_SESSION['hasVisited'] === true);
    if($hasVisited) {
        header("Location: home.php");
        die();
    }

    // here you show your intro

    // user has visited this site, so:
    $_SESSION['hasVisited'] = true;
?>

cookie 和 session 之间的差异说明:Cookies vs. Sessions

于 2012-06-16T09:48:14.263 回答
0

也许您可以尝试在用户第一次登陆主页时设置一个 cookie。这样,下次用户访问您的网站时,您可以在介绍播放之前查找 cookie。

如何在php中设置cookie

于 2012-06-16T09:42:29.610 回答
0

您可以向用户发送一个 cookie,以便当他回来时您可以识别该 cookie。虽然设置 cookie 并不好,但用户可能会删除它。

于 2012-06-16T09:40:28.167 回答