Php 用户语言设置-获取和显示设置的最有效方法

Php 用户语言设置-获取和显示设置的最有效方法,php,mysql,performance,localization,server,Php,Mysql,Performance,Localization,Server,我正在为登录用户建立一个网站或多种语言。如果我有一个名为user\u settings的表和一个名为language的列,我可以保存语言,例如英语为en,西班牙语为es 我也可以用饼干来储存(我想)。哪种方式最有效 我认为数据库方式是最好的方式,但显示每页消息的唯一方式是执行一个查询,说,从用户设置中选择语言,然后执行一个if语句 if($languageFromDatabase == 'en') 但是我不认为这是有效的,因为我必须在每次加载页面时检查数据库。什么是有效的方法?在cookie中

我正在为登录用户建立一个网站或多种语言。如果我有一个名为
user\u settings
的表和一个名为
language
的列,我可以保存语言,例如英语为
en
,西班牙语为
es

我也可以用饼干来储存(我想)。哪种方式最有效

我认为数据库方式是最好的方式,但显示每页消息的唯一方式是执行一个查询,说,
从用户设置中选择语言
,然后执行一个
if语句

if($languageFromDatabase == 'en')

但是我不认为这是有效的,因为我必须在每次加载页面时检查数据库。什么是有效的方法?

在cookie中存储语言。 然后,如果只有get参数$\u get['lng'],则执行sql并再次将其存储在cookie中


这样,只有当用户想要更改语言时,才会执行sql。

将语言存储在cookie中。 然后,如果只有get参数$\u get['lng'],则执行sql并再次将其存储在cookie中


这样,只有当用户想要更改语言时,才会执行sql。

在用户第一次访问数据库时从数据库中读取语言。将其存储到会话数据中,然后从中读取。

在用户第一次访问时从数据库中读取语言。将其存储到会话数据中,然后从中读取。

您需要cookie来跟踪用户

我的评论大致按从好到坏的顺序排列:

计划A:它可以只保留用户id。这需要在每个页面的开头从数据库中获取各种用户信息

计划B:将所有信息保存在cookie中。这有可能会产生大量cookie、cookie被黑客攻击等风险,并且在为每个用户添加其他需要保留的内容时,可能会导致转换问题

方案C:传入URL。这非常容易被黑客攻击,而且当有人想将某个URL添加到书签或共享时,这种做法非常笨拙


计划D:如果您希望增长到需要多个web服务器的程度,那么会话存储是不好的。(重量级玩家不需要“会话”。

您需要cookie来跟踪用户

我的评论大致按从好到坏的顺序排列:

计划A:它可以只保留用户id。这需要在每个页面的开头从数据库中获取各种用户信息

计划B:将所有信息保存在cookie中。这有可能会产生大量cookie、cookie被黑客攻击等风险,并且在为每个用户添加其他需要保留的内容时,可能会导致转换问题

方案C:传入URL。这非常容易被黑客攻击,而且当有人想将某个URL添加到书签或共享时,这种做法非常笨拙

计划D:如果您希望增长到需要多个web服务器的程度,那么会话存储是不好的。(重击手不需要“训练”。)