我在登录页面上有这个:
$current_time = date("g:i A");
$current_date = date("l, F jS, Y");
mysql_query("UPDATE employees
SET last_login = '$current_time', last_login_date = '$current_date' WHERE username='$username' AND password='$password'");
Run Code Online (Sandbox Code Playgroud)
然后在用户登录的页面上(受保护的页面)我有这个:
[...]
<?php
$last_login_date = $info['last_login_date']; // get last_login_date from mysql table
$last_login_time = $info['last_login_time']; // get last_login_time from mysql table
?>
[...]
You last signed in on <?php echo $last_login_date; ?> at <?php echo $last_login_time; ?>.
Run Code Online (Sandbox Code Playgroud)
但这不能正常工作,因为它显示了他们刚刚登录的时间.如何让它显示他们上次登录的时间?
我甚至也尝试过添加一个prev_login_time和prev_login_date表格,但我不知道如何正确更新,因为它会在每次登录时更新,以显示他们刚刚登录的时间.(所以它会显示当前他们的时间)
谢谢.
这是设置最后一个IP地址会话变量的登录if语句:
if($_POST['submit']) {
$sql = "SELECT * FROM employees WHERE username='$username' and password='$password'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$info = mysql_fetch_array($result);
if($count == 1) {
$_SESSION['loggedin'] = 1;
$_SESSION['user'] = $username;
$_SESSION['last_login_time'] = $info['last_login'];
$_SESSION['last_login_date'] = $info['last_login_date'];
$_SESSION['last_ip'] = $info['last_login_ip'];
$return = $_SESSION['returnurl'];
if(!$return) {
$return = "/employee/";
}
date_default_timezone_set('America/New_York');
$current_time = date("g:i A");
$current_date = date("l, F jS, Y");
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("UPDATE employees
SET last_login = '$current_time', last_login_date = '$current_date', last_login_ip = '$ip' WHERE username='$username' AND password='$password'");
header("Location: $return");
exit();
}
Run Code Online (Sandbox Code Playgroud)
上次登录日期和时间正常,这就是为什么我不知道它为什么不使用IP的原因.我在受保护的页面上正确访问它:
$last_login_date = $_SESSION['last_login_date'];
if($last_login_date = date("l, F jS, Y")) {
$last_login_date = "Today";
}
$last_login_time = $_SESSION['last_login_time'];
if($_SESSION['last_ip'] != $_SERVER['REMOTE_ADDR']) {
$last_login_ip = "this IP address (".$_SERVER['REMOTE_ADDR'].")";
}
else {
$last_login_ip = "IP address ".$_SESSION['last_ip'];
}
echo "Last account login: ".$last_login_date." at " . $last_login_time . " from " . $last_login_ip . ".";
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?也许我没有设置会话变量或正确检索它?但看起来我好像.我希望你能提供帮助.提前致谢.