php - 基本信息保存在cookie中还是一直在mysql中获取?

标签 php mysql cookies

我有一些信息,比如用户全名和个人资料图片,我需要在 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/

相关文章:

javascript - 改变被点击的元素并保存在cookies中

php - Laravel 作业队列不使用 Redis 驱动程序处理

php - 运行 composer dump-autoload 时出现错误 255

php - 变量未通过引用传递

mysql - 从 2Tables-Mysql 中删除通用 id 时发现问题

php - 如何在PHP函数中使用Mysql数组的行?

mysql - 仅当记录不存在时插入表

javascript - Chrome 开发者工具未显示带有请求 header 的 xhr 大小

php - php中奇怪的utf8转换问题

jQuery cookie if 语句