这次我试图在用户个人资料上进行最后一次看到。我在我的 phpmyadmin 中添加了一个名为 lastseen 的列,类型为“DATETIME”。当用户注销时,lastseen 应该更新为当前的日期和时间。所以我在我的注销脚本中创建了一个 SQL 来更新这个值。当我测试它时,它并没有像往常一样工作。尝试了很多东西,但没有任何帮助。我发现如果没有我的 WHERE 语句,日期只会按应有的方式更新,但遗憾的是所有用户。所以 SQL 中需要 WHERE 语句。我在没有它的情况下测试后将其添加回来,但它不再工作,这让我确定它与 WHERE 有什么关系,但我真的不明白是什么。
这是我的注销脚本:
<?php
session_start();
session_unset(); // Well.. One of these two will definitely work!
session_destroy();
// Updating
include('C:\xampp2\htdocs\settings\sh_config.php');
include('./static/index/scripts/session_start.php');
$conn = mysqli_connect($database['host'], $database['user'], $database['password'], $database['db'], $database['port']);
$last_timestamp = date("Y-m-d H:i:s");
$last_user = $_SESSION['username'];
$lastseen_query = mysqli_query($conn, "UPDATE users SET lastseen='$last_timestamp' WHERE username = '$last_user'");
header('Location: /');
$conn->close();
?>
“sh_config.php”的包含是私有的,但我会告诉它在这个脚本中的作用。很简单的答案:我在该文件中配置了数据库连接。因此, $database 的所有内容都在该文件中正确配置。
嗯,如你所见,里面有很多信息。基本上,这管理着注册和登录以及使用用户 ID 重定向到唯一配置文件的所有内容。我认为这个文件可能会派上用场,因为在这个文件中定义了 id 和用户名。如果您看起来不错,您会看到我将此文件包含在我的注销脚本中,因此定义的单词应该可以正常工作,但它们不能。尝试在没有包含的情况下在文件中重新定义它也不起作用。哦,顺便说一句,我使用 MySQLi。
斯蒂芬大帝