[英]PHP - Last “date” logged on from this “ipaddress”?
我想知道當用戶登錄時php是否可以遠程存儲日期和ipaddress等信息,也許使用“ COOKIES”或數據庫,我不知道,我不確定。 順便說一句,我的問題是,如果我上次登錄的時間是“ 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.