我有一个登录模块,我只是想知道如何更新用户上次登录日期?每次登录时,列表都会继续

时间:2015-07-29 03:14:39

标签: php

这是我在php中的登录代码我想更新users_table并在数据库中插入最后一个登录日期。我似乎只是输入登录日期而我没有更新任何建议?

     session_start();
     if(isset($_POST['submit'])) {
     $uname = $_POST['uname'];
     $pw = $_POST['pw'];
    //retrieve users from database

    require_once('db.php');
    $sql = 'SELECT * FROM users_table WHERE username="'.mysql_escape_string($uname).'" AND      password="'.mysql_escape_string(md5($pw)).'"
            LIMIT 0, 1
    ';
    $qry = mysql_query($sql);   
    $count = mysql_num_rows($qry);

    if($count > 0) {
        $_SESSION['username'] = $uname;
        $_SESSION['password'] = $pw;
        $date = date ('Y-m-d');

        //this code will insert the login date on the database
        mysql_query("INSERT into users_table (last_login) VALUES ('$date')  ");
        header('Location: products_list.php');
    } else {
        header('Location: index.php?error=1');
    }
  }

1 个答案:

答案 0 :(得分:1)

您应该更新现有记录,而不是插入新记录。

mysqli_query('UPDATE users_table SET last_login=NOW() WHERE username=' .
    mysqli_real_escape_string($uname));

更好的是,获取用户的ID并将其用于更新:

$user = $qry->fetch_object();
mysqli_query('UPDATE users_table SET last_login=NOW() WHERE id=' .
    mysqli_real_escape_string($user->id));