簡體   English   中英

PHP-從“ ipaddress”登錄的最后“ date”?

[英]PHP - Last “date” logged on from this “ipaddress”?

我想知道當用戶登錄時php是否可以遠程存儲日期和ipaddress等信息,也許使用“ COOKIES”或數據庫,我不知道,我不確定。 順便說一句,我的問題是,如果我上次登錄的時間是“ 2014年5月4日,來自108.25.1.123”

它會回聲

  • 上次登錄時間:2014年5月4日的108.25.1.123

如果錯誤,則忽略數據庫和cookie。

您可以在網站上的所有文件中都有一個foot.php文件。 該foot.php將具有類似以下的代碼:

<?php
    $ip_address = $_SERVER['REMOTE_ADDR'];
    $last_login = date("Y-m-d H:i:s");

    $connection = mysql_connect($server, $username, $password);
    mysql_select_db($db, $connection);
    $query = sprintf('UPDATE table_users SET ip_address=%s, last_login=%s WHERE user_id=%s', $ip_address, $last_login, $_SESSION['user_id']);
?>

這樣可以確保每當用戶訪問您網站上的頁面時,數據庫都會自動更新。 希望這會有所幫助。 :)

編輯: PDO版本:

<?php
    $ip_address = $_SERVER['REMOTE_ADDR'];
    $last_login = date("Y-m-d H:i:s");
    $connection = new PDO('mysql:host=localhost;dbname=testdb', $username, $password);
    $query = sprintf('UPDATE table_users SET ip_address=%s, last_login=%s WHERE user_id=%s', $ip_address, $last_login, $_SESSION['user_id']);
    $count = $connection->exec($query);
    printf('Updated $count rows.');
?>

用戶成功登錄后的數據庫方法,例如,我將用戶重定向

login.hp

if(){
 //validations
 }
 else{
   update_last_sign_in();//call function which updates the last login
  //success redirect the user
  }

您可以在其他文件或同一頁面上使用此功能。

 function update_last_sign_in()
 {
 $username = $_SESSION['logged_in_user'];
 $ip = $_SERVER['REMOTE_ADDR'];
 $date =   date('Y-m-d H:i:s');

 $database = new mysqli('localhost', 'user', 'pass', 'database_name');
 $stmt = $database->prepare('UPDATE last_login set username = ?, user_ip = ?, login_date = ?');
 $stmt->bind_param('sss', $username, $ip, $date);
 $stmt->execute();
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM