我的网页上的语言有问题。当我选择一种语言时,它会采取核心方式,所有内容都会发生变化,但是当我重新加载或转到另一个页面时,语言会变回默认语言,而使用cookie的东西不是核心:/。在本地主机上一切正常,但托管不起作用。
代码:
<?php
session_start();
header('Cache-control: private');
if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];
$_SESSION['lang'] = $lang;
session_set_cookie_params('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'lv';
}
switch ($lang) {
case 'lv':
$lang_file = 'lv.php';
break;
case 'ru':
$lang_file = 'ru.php';
break;
default:
$lang_file = 'lv.php';
}
include_once 'lang/'.$lang_file;
?>
答案 0 :(得分:0)
答案 1 :(得分:0)
您为什么使用session_set_cookie_params
而非setcookie
?
在每个链接上添加?lang
参数会很烦人。并且使代码膨胀并使其可读性降低。