Php 更改多语言脚本的语言时出现问题
我制作了一个多语言网站。 它只包含两种语言:英语和法语。 默认语言为英语,第二语言为法语 英语在网站上运行得很好,但法语不行,因为当使用URL(?lang=fr)将语言更改为法语时,我会得到随机字母(在本例中,我得到了“F”),如果我切换到(?lang=de)我得到了“D”),这意味着我得到了varibale$_get[“lang”] 这是我的lang.php文件的代码Php 更改多语言脚本的语言时出现问题,php,Php,我制作了一个多语言网站。 它只包含两种语言:英语和法语。 默认语言为英语,第二语言为法语 英语在网站上运行得很好,但法语不行,因为当使用URL(?lang=fr)将语言更改为法语时,我会得到随机字母(在本例中,我得到了“F”),如果我切换到(?lang=de)我得到了“D”),这意味着我得到了varibale$_get[“lang”] 这是我的lang.php文件的代码 <?php session_start(); if(isset($_GET['lang'])) { $lang
<?php
session_start();
if(isset($_GET['lang']))
{
$lang = $_GET['lang'];
$_SESSION['lang'] = $lang;
setcookie('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isset($_SESSION['lang'])) {$lang = $_SESSION['lang'];}
else if(isset($_COOKIE['lang'])) {$lang = $_COOKIE['lang'];}
else {$lang = 'fr';}
if($lang=='fr'){$lang_dir = 'fr.php';}
else if ($lang=='en') {$lang_dir = 'en.php';}
else {$lang_dir = 'fr.php';}
include 'administration/includes/lang/'.$lang_dir;
?>
是会话启动()代码>在所有PHP文件中?另外,?lang=de
在哪里发挥作用,还是仅用于测试目的?它不在上面列出的代码中。感谢您的回答,它只在lang.php中?lang=de只是用于测试目的。如果它不属于其中,请将其注释掉或删除。这可能是问题之一。据我所知,session_start()代码>必须驻留在所有调用的(PHP)文件中;在所有被调用的php文件中,但这不起作用!看看这个,可能会有帮助>