我正在尝试创建一个登录脚本,但我遇到了一个问题:
<?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']);
答案 0 :(得分:0)
你可以使用mysql函数now()而不是php函数time() - 不是因为它产生了巨大的差异,而是因为你不必破坏字符串就可以实现它。例如。 “更新tablename set time = now()where condition”