登录脚本问题

时间:2009-07-11 04:36:33

标签: php mysql login-script

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

<?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']);

1 个答案:

答案 0 :(得分:0)

你可以使用mysql函数now()而不是php函数time() - 不是因为它产生了巨大的差异,而是因为你不必破坏字符串就可以实现它。例如。 “更新tablename set time = now()where condition”