php – 如何使用time()来计算您登录的秒数

我正在创建一个脚本,让我说我有一个用户/传递进入,一旦它被输入,另一个页面将被重定向,并且该页面将显示一条线,表示你已经在这里停留了xxx秒.

我目前正在使用$_SESSION,但我不确定如何设置,因此time()将在登录后开始计数.

这是我的index.php脚本

if((isset($_GET["user"])) || (isset($_GET["pass"])))
{
    if(($_GET["user"] == "a") && ($_GET["pass"] == "a"))
    {
        session_start();
    $_SESSION["auth"] = 1;
    $_SESSION["username"] = $_GET["user"];
    $_SESSION["loginTime"] = time();
    $_SESSION["timeLogged"] = time() - $_SESSION["loginTime"];


    header("Location: 1.php");
}
else
{
    echo "Incorrect login data";
}
}

这是我的1.php脚本

session_start();
if(!(isset($_SESSION["username"])))
{
    header("location: index.php");
}
else
{
    echo "Welcome " . $_SESSION["username"] . "<br/>";
    echo "You have been logged in for " . $_SESSION["timeLogged"] . " seconds.";
}

最佳答案 使用$_SESSION(正如你所提到的)

第1页 – 在会话中存储当前时间(或任何时间)(cookie)

$_SESSION['startTime'] = time();

第2页 – 在我们传入cookie(在第1页上创建)时减去当前时间(意味着访问页面2的时间)

if (is_int($_SESSION['startTime'])){ // if the cookie exists:
    $difference = time() - $_SESSION['startTime'];
} else { // if the cookie does not exist:
    echo "You have been here some time in the future";
}

无论如何……这样的事情可能有用

编辑 – 使用您提供的代码:

移动$_SESSION [“timeLogged”] = time() – $_SESSION [“loginTime”];你的1.php脚本.一旦到达第二页,你需要计算差异:)

你有什么:

$_SESSION["loginTime"] = time();
$_SESSION["timeLogged"] = time() - $_SESSION["loginTime"];

最后一行是=当前时间 – (也是当前时间的变量)= 0

点赞