【发布时间】:2013-09-27 15:01:34
【问题描述】:
我用 php 和 mysql 编写了一个多语言网站。 现在我遇到了问题(主要是机器人、seo 和搜索引擎) 因为语言选择器基于 cookies。
现在如何工作:用户 => index.php:
function cookies() {
if (!isset($_COOKIE["lang"])){
setcookie('lang','ukr', time()+(60*60*24*31));
header('Location: index.php');
}};
并将所选语言输出到该功能所需的每个位置:
function catSet($source, $link, $item){
$item .= '_'. $_COOKIE['lang'];
global $connection;
$link = mysqli_real_escape_string($connection, $link);
$result = mysqli_query($connection, "SELECT * FROM $source WHERE link_item = '". $link ."'");
if (!$result) { die("DB Query failed: " . mysql_error()); }
while ($row = mysqli_fetch_array ($result)) {
echo $row[$item]; }}
我现在想要的是将$item .= '_'. $_COOKIE['lang']; 替换为 constant 基于机器人和搜索引擎可以读取的用户选择,所以它必须不是 饼干。
我不想使用会话,因为这样用户每次会话到期后都必须重新选择语言。
AFAIK 无法检测浏览器语言,将其设置为默认值。
我看到了一种使用 [GET] 变量的方法,并且每次都将其传递给其他页面,但是如果用户下次回来,如何存储此 [GET] 数据(与会话相同的问题)。
我将不胜感激任何想法和解决方案 :)
【问题讨论】:
标签: php mysql session cookies multilingual