如何使用时间来计算您登录的秒数

时间:2018-02-05 09:45:03

标签: php mysql time

我们说我有一个用户/通行证进入,一旦它进入另一个页面将被重定向,并且在该个人资料页面中将显示一条线,表示你一直待在这里xxx秒。 / p>

我是PHP的新手MySQL我有一个名为itube.one的网站我已经创建了登录/注册系统。我需要一些教程或者什么,显示我想要的东西我不能将这个脚本放到我的网站上我使用的是PHP 5.6

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

2 个答案:

答案 0 :(得分:2)

查看您的代码我假设您在登录代码中设置了这个:

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

然后在随后的页面中,您可以使用:

$timeSinceLogged = time() - $_SESSION["timeLogged"];
echo "You have been logged in for " . $timeSinceLogged . " seconds.";

答案 1 :(得分:2)

为此,您必须在某处,会话变量或数据库中保存登录时间。跟踪用户登录是一种很好的做法,因此将其保存在数据库中,以及其他一些信息(如用户的IP地址)是个不错的主意,会话ID,甚至是get_browser函数中的客户端元数据。 (请注意,您需要获得最新的php_browscap.ini才能获得准确的信息。)

但是为了举例,在登录后,设置一个会话变量:

//  start session
session_start();

//  set the logintime
$_SESSION['LoginTime'] = time();

完成后,您只需要从当前时间减去登录时间: $time_logged_in_secs = time() - $_SESSION['LoginTime'];

有了这个,您将获得用户登录的时间,以秒为单位。 现在你可以按照你想要的方式格式化它。