我正在构建一个php切换器,以便为我的网站添加多语言功能。
MySQL中的每个内容都有一个特定于语言的文本,我想根据活动语言检索它。
一开始,我想在MySQL中构建一个定制的表来存储语言状态。
例如:
意大利语1
中文0
..其中1表示语言处于活动状态,0表示关闭。
每次用户切换语言时,我都会调用此表并更改语言状态。然后,在通话结束时,我刷新页面,php检索正确的内容。
这似乎是一个好主意,直到我发现每次用户切换时MySQL中的语言状态都会发生变化。因此,如果用户正在用意大利语查看该网站,而其他用户同时切换到英语,则第一个用户也将查看该英文。
我的问题是:我如何存储特定用户的语言状态,避免更改其他每个用户的语言状态?
非常感谢
答案 0 :(得分:1)
如果要进行持久保存,请在用户表
上添加“Lang”列用户(id,username,passhash,lang);
只需将语言设置存储在那里。如果您有另一个包含语言的表,则可以使用外键来避免完整性问题。
如果您不关心持久性(如果用户从其他计算机登录,则默认使用默认语言),您可以使用会话或Cookie。
答案 1 :(得分:0)
不要使用数据库。改为设置$_SESSION
变量(在修改之前不要忘记调用session_start()
)。 (Php Manual)