如何在Web应用程序中存储用户偏好?

3
我希望了解一种良好的软件工程方式来存储Web应用程序中的用户偏好设置。更进一步地,我的应用程序有一些用户可以选择的命令,因此我添加了一个按钮,当选择某些命令时,这些命令会保存为用户在客户端机器上的收藏夹。这样,如果用户X随时登录,他可以查看自己的收藏命令并自动加载它们。
如何保存这些命令以及在哪里保存?考虑到多个用户使用同一台计算机时不应访问彼此的收藏夹,因此我希望根据userID保存收藏夹。应该使用cookie还是XML?使用PHP还是JavaScript更好?
非常感谢您的帮助 :)
4个回答

2
最佳方法是在使用您的网站时让用户登录。然后,您将所有偏好设置存储在服务器上,并通过UI传递到他们的浏览器。这意味着无论他们使用什么浏览器/设备,它们的设置都会跟随他们。
我不确定是否喜欢修改某人浏览器中的“收藏夹”。我不确定是否会继续使用想要对我的浏览器拥有那种控制权的网站。
现在,如果您只是在谈论在网站上有一个“收藏夹”列表页面,那就没问题。只需保留服务器端即可。

1

最典型的做法是将它们存储在服务器端的某种数据库中,通过UserID轻松访问。请记住,“首选项”与“状态”不同。状态变量通常通过您正在使用的任何cookie机制进行存储。


你认为状态和偏好分别是什么? - justRadojko

0

你的 Web 应用程序在后端使用什么来保存数据?很可能,那就是你想要存储用户偏好设置的地方。由于你已经访问了后端(也许是数据库)来验证用户登录,从那里检索该用户的偏好设置就是一个简单的步骤。

真正的问题在于我们需要更多的细节。你是将认证信息存储在数据库中还是其他地方?你的用户会话是如何存储的(即当用户登录时,你的 Web 应用程序如何告诉他的浏览器在后续请求中已经登录)?你的问题似乎已经说明了这一点,但为了澄清,这些 PHP 页面包含一定量的 JavaScript 吗?


0

根据您的需求而定。如果您的用户进行了身份验证,您需要选择将用户偏好存储在数据库中,这可能是首选解决方案。但是,如果符合您的要求,您可以将用户偏好保存在cookie中。

以下是一些JavaScript函数和jQuery插件,其中包含有关如何使用cookie的示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接