I have problems with my last login date and time because whenever I login into my account, it doesn't retrieve my last login date and time. Here is the code and hope you can trace the error.
<?php
session_start();
//include database configuration and connect
include 'config.php';
include 'opendb.php';
if (isset($_POST))
{
//retrieve login form data
$user_email= $_POST['user_email'];
$password = sha1($_POST['password']);
$last_login = date("d/m/y h:i:s");
//check for valid user
$query= "SELECT * FROM user WHERE user_email='$user_email' AND password='$password'";
$result = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result)>0) {
$record = mysql_fetch_assoc($result);
$_SESSION['user_email'] = $record['user_email'];
$_SESSION['user_image']=$record['user_image'];
$_SESSION['last_login']=$record['last_login'];
$_SESSION['admin'] = $record['admin'];
header('Refresh: 5; url=home.php');
$query1 = ("INSERT INTO user (last_login) VALUES('current_date')");
$result1 = mysql_query($query) or die(mysql_error());
$query2 = "UPDATE user SET last_login= '$last_login' WHERE user_email='$user_email'";
$result2 = mysql_query($query) or die(mysql_error());
echo "Login Successful.<font color='#98AFC7'>(You last logged in at '.$last_login'.)</font>";
}
else
{
//get user to login
echo "Wrong password or user email.<br />";
}
}
include 'closedb.php';
?>Since you are using MySQL why not use REPLACE?
<?php
$query = "REPLACE INTO user SET last_login = '". . $last_login. "', user_email = '". $user_email. "'";
$result = mysql_query($query) or die(mysql_error());
?>Also, you might want to try the TIMESTAMP and DATETIME column types because they have options that will AUTO-UPDATE the time to the current time (NOW()).