登录后,我试图显示显示欢迎用户ID的欢迎标语,但是显示的是Welcome 1540102764。不知道出了什么问题。我猜我的skew()
没有正确存储login.php
,或者我应该使用$_SESSION['login_user']
来检索用户ID来显示欢迎用户ID。
homepage.php
$_SESSION['login_user']
login.php
<?php
session_start();
if( !isset( $_SESSION['login_user'] ) || time() - $_SESSION['login_time'] > 1800) {
session_unset();
session_destroy();
header("Location:login.php");
} else {
$_SESSION['login_user'] = time();
}
?>
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Homepage</title>
</head>
<header id="header">
<li>Welcome
<?php
echo 'Welcome ' . $_SESSION['login_user'];
?>
</li>
</header>
<footer id="footer">
</footer>
</body>
</html>
答案 0 :(得分:4)
在显示部分,您用time()
...覆盖了login_user ...
if( !isset( $_SESSION['login_user'] ) || time() - $_SESSION['login_time'] > 1800) {
session_unset();
session_destroy();
header("Location:login.php");
} else {
$_SESSION['login_time'] = time();
}
正如Ernani Azevedo所指出的,它应该更新login_time
,尽管为了清楚起见,我将login_time
重命名为last_seen
之类。