5

我正在创建一个脚本,假设我有一个用户/通行证要输入,一旦进入,另一个页面将被重定向,并且在该页面中将显示一行,说你已经在这里停留了 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.";
}
4

1 回答 1

3

使用$_SESSION(如您所述)

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

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

第 2 页 - 将当前时间(即访问第 2 页的时间)减去我们传入 cookie 的时间(在第 1 页上创建)

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";
}

无论如何......这样的事情可能会奏效


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

移至您的1.php$_SESSION["timeLogged"] = time() - $_SESSION["loginTime"];脚本。进入第二页后,您需要计算差异:)

你有什么:

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

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

于 2013-03-03T08:04:37.730 回答