使我的简介页面仅按用户或计算机显示一次

Make my intro page appear only one time by user or computer

本文关键字:计算机显示 一次 用户 我的      更新时间:2023-09-26

我有一个问题,我有一个索引.php页面,这是我网站的介绍,当介绍开始和结束时,它会重定向到我的主页.php页面,但我想让这个介绍页面只被用户或计算机出现一次,如果用户已经去过介绍页面,他将被重定向到主页,然后转到索引.php(介绍)页面。如何在 php 中实现它?

index.php
if(isset($_COOKIE['visit'])){
header("Location:home.php");
}
Your Intro
setCookie("visit","1",time()+60*60*7*12);

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

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

如何在 php 中设置 cookie

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

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

使用会话为当前用户存储一些信息的示例(它不需要会员资格或类似内容,它可以工作,因为每个访问您网站的用户都会保存数据):

<?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 和会话之间差异的说明:Cookie 与会话。