如何得到最后登录在管理时间和日期登录我在php后


how to get last logged in admin time and date after login me in php

我在数据库中有5个管理员。现在我想获取最后一个用户登录的日期和时间细节。在我之前工作的人。意思是在我登录仪表板后,我想看到以前的用户登录和注销时间和日期。

我能够得到我的(当前用户)登录日期和时间。但是我不知道如何才能获得以前的用户(Admin)登录和注销日期/时间详细信息。

我正在发送我的login.php代码。我写了当前用户的时间/日期代码。请参阅代码,并给我建议我如何才能得到以前的用户登录和注销日期/时间。谢谢。

<?php include "db.php"; ?>
<?php session_start(); ?>
<?php
if(isset($_POST['login'])){
$username = $_POST['username'];
$password = $_POST['password'];
$username = mysqli_real_escape_string($connection,$username);
$password = mysqli_real_escape_string($connection,$password);
$password = md5($password);
$login_query = "SELECT * FROM users WHERE user_username = '$username'" ;
$result_query = mysqli_query($connection,$login_query);
$count = mysqli_num_rows($result_query);
if(!$count){
die("QUERY FAILED". mysqli_error($connection));
}
while($row= mysqli_fetch_array($result_query)){
$log_user_id = $row['user_id'];
$log_user_username = $row['user_username'];
$log_user_password = $row['user_password'];
$log_user_firstname = $row['user_firstname'];
$log_user_lastname = $row['user_lastname'];
$log_user_role = $row['user_role'];
$log_user_time = $row['time'];
$log_user_ip = $row['ip'];
}
if($username !== $log_user_username && $password !== $log_user_password){
header ("location: ../index.php");
}elseif($username == $log_user_username && $password == $log_user_password){
if($count == 1) {
$_SESSION['username']=$log_user_username;
$_SESSION['firstname']=$log_user_firstname;
$_SESSION['lastname']=$log_user_lastname;
$_SESSION['user_role']=$log_user_role;
$_SESSION['last_login'] = $log_user_time;
$_SESSION['last_login_ip'] = $log_user_ip;
date_default_timezone_set("Asia/Kolkata");
$current_date = date("F d, Y, h:i:s A"); 
$ip = $_SERVER['REMOTE_ADDR'];
$query = "UPDATE users SET time= NOW() ,ip='$ip' WHERE user_username='$username'";
mysqli_query($connection,$query);
$last_login_date = $_SESSION['last_login'];
$last_login_date2 = date('F d, Y, h:i:s A');
$diffs = abs(strtotime($last_login_date2) - strtotime($last_login_date));
$year = floor($diffs / (365*60*60*24));
$month = floor(($diffs - $year * 365*60*60*24) / (30*60*60*24));
$day = floor(($diffs - $year * 365*60*60*24 - $month*30*60*60*24)/ (60*60*24));
$hour = floor(($diffs - $year * 365*60*60*24 - $month*30*60*60*24 - $day*60*60*24)/ (60*60)); 
$minute = floor(($diffs - $year * 365*60*60*24 - $month*30*60*60*24 - $day*60*60*24 - $hour*60*60)/ 60); 
$second = floor(($diffs - $year * 365*60*60*24 - $month*30*60*60*24 - $day*60*60*24 - $hour*60*60 - $minute*60));
if($year == 0 AND $month == 0 AND $day == 0 AND $hour == 0 AND $minute == 0 AND $second < 30 ) {
$time1 = 'Just now';
} elseif($year == 0 AND $month == 0 AND $day == 0 AND $hour == 0 AND $minute == 0 ) { 
$time1 = 'few seconds ago';
} elseif($year == 0 AND $month == 0 AND $day == 0 AND $hour == 0 AND $minute == 1) {
$time1 = '1 minute ago';
} elseif($year == 0 AND $month == 0 AND $day == 0 AND $hour == 0 ) {
$time1 = $minute . ' minutes ago';
} elseif($year == 0 AND $month == 0 AND $day == 0 AND $hour == 1 ) { 
$time1 = '1 hour ago';
} elseif($year == 0 AND $month == 0 AND $day == 0 ) {
$time1 = $hour . ' hours ago';
} elseif($year == 0 AND $month == 0 AND $day == 1 ) {
$time1 = 'Yesterday';
} elseif($year == 0 AND $month == 0 ) {
$time1 = $day . ' days ago';
} elseif($year == 0 AND $month == 1 ) {
$time1 = '1 month ago';
} elseif($year == 0) {
$time1 = $month . ' months ago';
} elseif($year == 1 ) {
$time1 = '1 year ago';
} else {
$time1 = $year . ' years ago';
} 
}
if($_SESSION['last_login_ip'] != $_SERVER['REMOTE_ADDR']) {
$last_login_ip = "from this IP address (".$_SERVER['REMOTE_ADDR'].")";
}
else {
$last_login_ip = "IP address ".$_SESSION['last_login_ip'];
} 
}
header ("location: ../admin");
}else{
header ("location: ../index.php");
}
?>

所以在我登录仪表板(index.php)页面后,我确实回声变量,我可以看到当前用户登录日期/时间细节。这是我的登录细节。

请给我建议我如何才能得到以前的用户登录和注销的详细信息。由于

notification.php

   <span class="pull-right text-muted small"><em></em></span></a>

                               <?php

date_default_timezone_set("Asia/Kolkata");
$last_login_date = date("F d, Y, h:i:s A");                               
$last_login_date = $_SESSION['last_login'];
$last_login_date2 = date('F d, Y, h:i:s A');
$diffs = abs(strtotime($last_login_date2) - strtotime($last_login_date));
$year = floor($diffs / (365*60*60*24));
$month = floor(($diffs - $year * 365*60*60*24) / (30*60*60*24));
$day = floor(($diffs - $year * 365*60*60*24 - $month*30*60*60*24)/ (60*60*24));
$hour = floor(($diffs - $year * 365*60*60*24 - $month*30*60*60*24 - $day*60*60*24)/ (60*60)); 
$minute = floor(($diffs - $year * 365*60*60*24 - $month*30*60*60*24 - $day*60*60*24 - $hour*60*60)/ 60); 
$second = floor(($diffs - $year * 365*60*60*24 - $month*30*60*60*24 - $day*60*60*24 - $hour*60*60 - $minute*60));
if($year == 0 AND $month == 0 AND $day == 0 AND $hour == 0 AND $minute == 0 AND $second < 30 ) {
$time1 = 'Just now';
} elseif($year == 0 AND $month == 0 AND $day == 0 AND $hour == 0 AND $minute == 0 ) { 
$time1 = 'few seconds ago';
} elseif($year == 0 AND $month == 0 AND $day == 0 AND $hour == 0 AND $minute == 1) {
$time1 = '1 minute ago';
} elseif($year == 0 AND $month == 0 AND $day == 0 AND $hour == 0 ) {
$time1 = $minute . ' minutes ago';
} elseif($year == 0 AND $month == 0 AND $day == 0 AND $hour == 1 ) { 
$time1 = '1 hour ago';
} elseif($year == 0 AND $month == 0 AND $day == 0 ) {
$time1 = $hour . ' hours ago';
} elseif($year == 0 AND $month == 0 AND $day == 1 ) {
$time1 = 'Yesterday';
} elseif($year == 0 AND $month == 0 ) {
$time1 = $day . ' days ago';
} elseif($year == 0 AND $month == 1 ) {
$time1 = '1 month ago';
} elseif($year == 0) {
$time1 = $month . ' months ago';
} elseif($year == 1 ) {
$time1 = '1 year ago';
} else {
$time1 = $year . ' years ago';
} 
if($_SESSION['last_login_ip'] != $_SERVER['REMOTE_ADDR']) {
    $last_login_ip = "From this IP address (".$_SERVER['REMOTE_ADDR'].")";
    }
    else {
    $last_login_ip = "IP address ".$_SESSION['last_login_ip'];
    }


?>

                                  <a href="#" class="list-group-item">
                                    <i class="fa fa-user"></i> User Name
                                    <span class="pull-right text-muted small"><em><?php echo $_SESSION['username']; ?></em>
                                    </span>
                                </a>
                                <a href="#" class="list-group-item">
                                    <i class="fa fa-sign-in"></i> Last Login Time
                                    <span class="pull-right text-muted small"><em><?php echo $time1; ?></em>
                                    </span>
                                </a>
                                <a href="#" class="list-group-item">
                                    <i class="fa fa-sign-out"></i> Last Logout Time
                                    <span class="pull-right text-muted small"><em>27 minutes ago</em>
                                    </span>
                                </a>
                                <a href="#" class="list-group-item">
                                    <i class="fa fa-tasks fa-fw"></i> User Ip
                                    <span class="pull-right text-muted small"><em><?php echo $last_login_ip; ?></em>
                                    </span>
                                </a>

在这里我得到管理员登录日期和时间的详细信息。但我无法得到以前的访问者登录细节。登录后,我只能看到我的登录时间/日期细节。所以请帮忙。

我可以给你基本的逻辑。在这里,你可以设置会话变量,它将作为标志。

// start session 
session_start(); 
// if not yet logged in update database 
if(!isset($_SESSION['logged'])) 
{ 
    // update your database here 
   $query = "UPDATE table  
            SET LastLogin=now()  
            WHERE ID='$ID'"; 
   $result = mysql_query($query); // etc... 
   // if the table was updated 
   if($result === true) 
   { 
      // then create a session var 
      $_SESSION['logged'] = 1; 
   } 
} 

您可以在登录时插入用户id,日期和时间,并将其作为上次登录的最后id。

在数据库中创建一个活动表。点击链接在这里查看示例->用户活动表结构

每次当任何用户登录时,只需在活动表中输入登录时间和用户id以及其他所需的详细信息。在登录时,您可以将该特定会话的登录状态更改为未激活状态。下次当任何用户登录时,您可以从数据库中获得上次登录时间,并从PHP date()函数中获得当前时间。只是得到这两个日期之间的时差,你会得到最后的登录时间和前一个用户的持续时间。就是这样。