PHP: 如何获取session进入和页面退出的时间

PHP: How to get time of session entry and page exit

我正在尝试为我的论文创建一个小实验页面。我必须测量一个人何时打开实验页面以及何时关闭它。

在阅读了其他一些问题后,我想到了一个想法来获取会话开始的时间以及用户单击按钮以进入表单中的另一页的时间。像这样:

<?php
session_start();

$_SESSION['timeEnt']= date('H:i:s');
?>

<!DOCTYPE html>
<html>

<form method="post" action="name.php">
<input type="hidden" id="date" name="timeExt" value="" />
<input type="submit" value="Submit!" onclick="document.getElementById('date').value = new Date(<?php date('H:i:s')); ?>" />
</form>

</html>

不幸的是,稍后当我得到结果时,我看到 timeEnt 中的时间值是从服务器获取的,而 timeExt 中的时间值是从一台电脑。另一个问题是 timeEnt 显示的是正常格式:HH:MM:SS;而 timeExt 显示例如2015 年 3 月 7 日星期六 HH:MM:SS GMT+0100

有没有办法从服务器以相同的格式 (HH:MM:SS) 获取两者?

谢谢

记住 PHP 在服务器上运行。所以获取用户端日期时间是不可能的。

获取用户日期时间。你应该用 javascript:

var currentTime = new Date()

document.write(currentTime.toString());

我会专门使用前端或后端以避免任何转换问题:

<?php
$sTimeEnt = date('H:i:s');
?>
<!DOCTYPE html>
<html>

<form method="post" action="name.php">
<input type="hidden" id="date" name="timeEnt" value="<?php echo $sTimeEnt; ?>" />
<input type="submit" value="Submit!" />
</form>

</html>

并且在name.php

<?php
$aPost    = $_POST;
$sTimeEnt = $aPost[ 'timeEnt' ];
$sTimeExt = date('H:i:s');

// Compare to your liking the two.
?>