PHP проблемы с мультиязычностью - PullRequest
1 голос
/ 04 ноября 2011

У меня проблемы с мультиязычностью php.Я использую функцию * check_lang *, и она отлично работает на одной странице, но как только я перехожу на другую страницу, переменная $ _SESSION ['lang'] $ lang превращается в default (en).В чем проблема?

<?php

    function check_lang() { 
    if(isset($_GET['lang'])
        {
        $lang = $_GET['lang'];
        $_SESSION['lang'] = $lang
        }

    if (!isset($_SESSION['lang'])) { 
        $lang = 'en'; 

    } else { 
        $_SESSION['lang']=$lang; 
      } 

    //directory name 
    $dir = 'languages'; 
    return "$dir/$lang.lng"; 
    } 

    ?>

Ответы [ 2 ]

3 голосов
/ 04 ноября 2011

Вы должны:

session_start();

Вверху каждого из ваших сценариев, в которых вы хотите использовать переменные сеанса.

0 голосов
/ 04 ноября 2011

Вам нужно вызывать session_start () на каждой странице, которую вы планируете использовать с помощью глобальной переменной $ _SESSION []. Вот что говорит PHP, что он должен искать session_id из файлов cookie пользователя или строки запроса, чтобы PHP зналкакие значения сеанса использовать.

Ссылка .

...