0

我正在尝试制作登录脚本,但我遇到了一个问题:

<?php

session_start();

if (isset($_POST['username'])) {
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);

    $query = mysql_query(
        "SELECT id
         FROM users
         WHERE username = '$username'
         AND password = '$password'"
    );

    if (mysql_num_rows($query) == 0) {
        header('Location: ?error');
        exit();
    }

    // assign id to session
    $_SESSION['id'] = mysql_result($query, 0, 'id');
    mysql_query(
        "UPDATE users
         SET last_activity = ".time()."
         WHERE ".$_SESSION['id']
    );

    header("Location: /");
    exit();
}
?>

该脚本的问题在于它将 last_activity 设置为每个用户的当前时间。
想不出问题。

一些帮助会非常有用,是的,我稍后会研究密码加密:P

编辑:发现问题,应该是mysql_query("UPDATE users SET last_activity = ".time()." WHERE id = ".$_SESSION['id']);

4

1 回答 1

0

您可以使用 mysql 函数 now() 而不是 php 函数 time() - 并不是说​​它有很大的不同,而是它稍微简洁一些,因为您不必破坏字符串即可。例如“更新表名 set time=now() where 条件”

于 2009-07-11T11:31:02.747 回答