所以,我希望我的网站是多语言的。但是,我曾经使用txt.php文件来完成它,该文件定义了所有的句子。我想将它传输到我的数据库,以便我可以构建一个相当简单的CMS类型的东西。我将所有翻译输入数据库,然后想要选择它们并定义它们,如下所示。但这不起作用。我做错了什么?
$sql = "SELECT * FROM Main";
$result = mysql_query($sql);
function defineStrings() {
switch($_SESSION[lang]) {
case "en":
while($row = mysql_fetch_assoc($result)) {
define("$row['identifier']","$row['texten']");
}
break;
}
}
这在index.php文件中调用,如下所示:
if ($_SESSION[lang] == "") {
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$_SESSION[lang] = $lang;
$currLang = $lang;
} else {
$currLang = $_SESSION[lang];
$_SESSION[lang] = $currLang;
}
include("Localization/lang.php");
include("Localization/txt.php");
defineStrings();
答案 0 :(得分:1)
试试这个:
将两行放在defineStrings函数中。 编辑(在循环中看到内部):
function defineStrings() {
$sql = "SELECT * FROM Main";
$result = mysql_query($sql);
switch($_SESSION[lang]) {
case "en":
while($row = mysql_fetch_assoc($result)) {
define($row['identifier'],"'".$row['texten']."'");
}
break;
}
}
答案 1 :(得分:0)
$_SESSION[lang]
更改为:
$_SESSION['lang']