多语言的PHP问题

时间:2011-11-04 05:12:51

标签: php session multilingual

我有php多语言的问题。我正在使用function * 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 个答案:

答案 0 :(得分:3)

你必须:

session_start();

在您要使用会话变量的每个脚本的顶部。

答案 1 :(得分:0)

你需要在你计划使用$ _SESSION []全局的每个页面上调用session_start()。这就是告诉PHP它应该从用户的cookie或查询字符串中查找session_id以便PHP知道要使用哪个会话的值。

Reference