Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 语言问题(Cookie/会话)_Php_Cookies_Session Cookies_Multilingual - Fatal编程技术网

Php 语言问题(Cookie/会话)

Php 语言问题(Cookie/会话),php,cookies,session-cookies,multilingual,Php,Cookies,Session Cookies,Multilingual,我的页面上的语言有问题。当我选择一种语言时,它会正确地接受它,所有内容都会更改,但当我重新加载或转到另一个页面时,该语言会更改回默认语言,带有cookie的内容不会正确:/。在本地主机上一切都很好,但在主机上不起作用 代码: 我建议在这里检查答案: 您向我们展示的代码运行良好,因此这一定是服务器/配置问题。祝你好运:)为什么要使用会话设置cookie\u参数而不是设置cookie 在每个链接上添加?lang参数会让人厌烦。并使代码膨胀,使其可读性降低。您确定已正确上传所有内容吗?服务器上的ru

我的页面上的语言有问题。当我选择一种语言时,它会正确地接受它,所有内容都会更改,但当我重新加载或转到另一个页面时,该语言会更改回默认语言,带有cookie的内容不会正确:/。在本地主机上一切都很好,但在主机上不起作用

代码:


我建议在这里检查答案:


您向我们展示的代码运行良好,因此这一定是服务器/配置问题。祝你好运:)

为什么要使用
会话设置cookie\u参数而不是
设置cookie


在每个链接上添加
?lang
参数会让人厌烦。并使代码膨胀,使其可读性降低。

您确定已正确上传所有内容吗?服务器上的ru.php是最新的吗?您是否在每次点击页面时都设置语言?你是从我猜的URL中得到语言的?也许发布您正在测试的URL?另一种可能是,您的主机不允许您干扰$\会话。您是否有任何错误?是的,我正确上载了所有内容。@mam8cc否,我没有任何错误:/,我在localhost上设置了语言及其保存,我可以转到我的所有页面,但在主机上,他们只是将语言设置为默认值。您可以发布您用于测试的URL吗?i、 我得到了我想要的。我在我的链接中添加了这个?lang=一切正常,thanx表示一切:)
<?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;
?>