我有一些信息,比如用户全名和个人资料图片,我需要在 mysql 中一直访问这些信息。 (他访问的所有页面)
我想在用户登录时获取此信息一次并将其存储在 COOKIE 中。所以每个页面我都会在这个 cookie 中获取此信息,以避免每次都为此进行 mysql 连接。 (如果 cookie 没有设置或丢失日期,我检查 mysql)。
这是一个好的解决方案还是一个没有意义的解决方案?我这样做会有问题吗?有人试过类似的东西吗?
谢谢 friend 们!
编辑: 我不想将登录信息存储在 cookie 中,为此我有 SESSION。只想为不相关的信息设置一个 cookie,他的个人资料图片,他的全名……而不是登录访问数据。
最佳答案
正如 Darren 所建议的,您永远不应使用 cookie 来获取个人信息 - 这些信息很容易从公共(public)计算机中恢复。此外,每次都加载 MySQL 并没有真正的缺点,除非您非常带宽紧张。 我的建议是使用这样的脚本:
$sql = new mysql("localhost", "Some_user", "some_password", "some_db");
$handle = $sql -> query("SELECT * FROM users_or_something");
while ($row = $handle -> fetch_object()){
$name = $row -> name;
$img_url = $row -> img;
//...
}
然后……
include "db_load.php";
在每一页中。
或者更好的是,将它包含在您的登录处理页面中,然后使用 $_SESSION[] 在您的脚本之间传递它。
但是,为了更快地登录,您可以将一些用户 ID 存储为 cookie,然后,如果用户选择自动登录,则查找它。在那种情况下,制作登录页面(index.php)?在显示登录表单之前查找它。
从纯技术的角度来看,如果您可以检索它,您几乎可以将任何东西存储为 cookie。您的建议没有(技术上)错误。
关于php - 基本信息保存在cookie中还是一直在mysql中获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35498650/