Session PHP4在会话期间包含文件

Session PHP4在会话期间包含文件,session,include,php4,Session,Include,Php4,我正在努力把第二语言放在我的网页上。我决定为不同的语言使用不同的文件,这些语言由path-language/pl/projects区分开来。ln包含波兰语文本,language/en/projects.ln-英语。这些扩展只是为了区分语言文件和其他文件,内容很简单: $lang["desc"]["fabrics"]["title"] = "MATERIAŁY"; $lang["desc"]["fabrics"]["short_text"] = "Jakiś tam tekst na temat

我正在努力把第二语言放在我的网页上。我决定为不同的语言使用不同的文件,这些语言由path-
language/pl/projects区分开来。ln
包含波兰语文本,
language/en/projects.ln
-英语。这些扩展只是为了区分语言文件和其他文件,内容很简单:

$lang["desc"]["fabrics"]["title"] = "MATERIAŁY";
$lang["desc"]["fabrics"]["short_text"] = "Jakiś tam tekst na temat materiałów";
$lang["desc"]["services"]["title"] = "USŁUGI";
$lang["desc"]["services"]["short_text"] = "Jakiś tam tekst na temat usłóg";
然后在索引页上,我这样使用它:

session_start();  
if (isset($_SESSION["lang"])) {  
    $language = $_SESSION["lang"];  
} else {  
    $language = "pl";  
}  
include_once("language/$language/projects.ln");
print $lang["desc"]["fabrics"]["title"];
问题是,如果未设置会话变量,则一切正常,并显示数组项内容,但一旦我更改并设置了
$\u session[“lang”]
则不会显示任何内容。我通过把
打印成“sth”来测试include本身是否正常工作
在projects.ln文件的开头,这对
$\u会话[“lang”]
设置和取消设置都有效

请帮忙

  • 你能测试session_start()的返回值吗?如果为false,则表示无法启动会话
  • 在您将任何内容输出到浏览器之前是否调用了它?如果已经发送了标题,并且您的错误报告级别太低,您甚至看不到错误消息
  • 愚蠢,但是-您是否将$\u SESSION['lang']的值设置为像“en”这样的有效值?当您在else块中使用英语翻译作为默认值而不是“pl”时,是否正确加载英语翻译
  • “Jakiśtam tekst na temat usłóg”->“usług”:
  • 你能告诉我们这个输出是什么吗

    if(session_start()) {
        echo SID, '<br/>';
        if(isset($_SESSION['lang'])) {
            echo 'lang = "',$_SESSION['lang'], '"';
        }
    }
    
    if(会话启动()){
    回显SID,“
    ”; 如果(isset($_会话['lang'])){ echo'lang=“”,$\u会话['lang'],'”; } }
  • 你能测试session_start()的返回值吗?如果为false,则表示无法启动会话
  • 在您将任何内容输出到浏览器之前是否调用了它?如果已经发送了标题,并且您的错误报告级别太低,您甚至看不到错误消息
  • 愚蠢,但是-您是否将$\u SESSION['lang']的值设置为像“en”这样的有效值?当您在else块中使用英语翻译作为默认值而不是“pl”时,是否正确加载英语翻译
  • “Jakiśtam tekst na temat usłóg”->“usług”:
  • 你能告诉我们这个输出是什么吗

    if(session_start()) {
        echo SID, '<br/>';
        if(isset($_SESSION['lang'])) {
            echo 'lang = "',$_SESSION['lang'], '"';
        }
    }
    
    if(会话启动()){
    回显SID,“
    ”; 如果(isset($_会话['lang'])){ echo'lang=“”,$\u会话['lang'],'”; } }
    会话启动正常,我意外地修复了它


    我将
    $\u SESSION['lang']
    重命名为
    $\u SESSION['curr\u lang']
    ,现在可以正常工作了。它似乎不喜欢数组和会话变量具有相同的名称(?)。

    会话启动正常,我意外地修复了它

    我将
    $\u SESSION['lang']
    重命名为
    $\u SESSION['curr\u lang']
    ,现在可以正常工作了。它似乎不喜欢数组和会话变量具有相同的名称(?)