Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 手动更改语言_Php - Fatal编程技术网

Php 手动更改语言

Php 手动更改语言,php,Php,我有一个网站,自动检测国家,并根据国家设置语言,但用户无法手动更改 如何将以下代码添加到下面的代码中,以确保我可以输入以下链接: //我想与下面的代码集成的代码 交换机($lang){ 案例“en”: $lang_file='lang.en.php'; 打破 案例“de”: $lang_file='lang.de.php'; 打破 违约: $lang_file='lang.en.php'; } //主代码如下 有什么建议吗 if(isset($_GET['lang'])){ // get

我有一个网站,自动检测国家,并根据国家设置语言,但用户无法手动更改

如何将以下代码添加到下面的代码中,以确保我可以输入以下链接:

//我想与下面的代码集成的代码
交换机($lang){
案例“en”:
$lang_file='lang.en.php';
打破
案例“de”:
$lang_file='lang.de.php';
打破
违约:
$lang_file='lang.en.php';
}
//主代码如下
有什么建议吗

if(isset($_GET['lang'])){
   // get variable 'lang' is defined.
   $lang = $_GET['lang']
}
您可以在下面的代码中重置
$lang_file
的值:

if(visitor_country() == "Germany") {
    $lang_file = 'lang.de.php';
    //echo "Germany";
} else {

    $lang_file = 'lang.en.php';
    //echo "Not in Germany";
}

如果您删除了该代码,它应该可以工作。

将自动检测置于开关的
默认值:
框中:

$lang = null;
if (isset($_GET['lang'])) {
    $lang = $_GET['lang'];

    // register the session and set the cookie
    $_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'];
}

switch ($lang) {
case 'en':
    $lang_file = 'lang.en.php';
    break;

case 'de':
    $lang_file = 'lang.de.php';
    break;

default:
    if(visitor_country() == "Germany") {
        $lang_file = 'lang.de.php';
        //echo "Germany";
    } else {

        $lang_file = 'lang.en.php';
        //echo "Not in Germany";
    }
}

你的代码怎么了?这就是你得到的['lang']所做的。哦,谢谢。出于某种原因,它刚刚开始工作。也许我看起来不太对劲;)刚意识到它不起作用。“它不起作用”不够详细,任何人都无法帮助你。很抱歉,当我转到example.com/index.php?lang=de时,该语言只使用英语,而不是改为德语,反之亦然。如果德国有人在浏览该页面,是的,我已经尝试过了,但没有效果。最后我看到了一个空白的白色屏幕。有什么想法吗?我去掉了
else{$lang='en';}
,因为这阻止了进入默认情况。但是如果你得到的是一个空白屏幕,可能会有一个错误。检查您的error.log。
$lang = null;
if (isset($_GET['lang'])) {
    $lang = $_GET['lang'];

    // register the session and set the cookie
    $_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'];
}

switch ($lang) {
case 'en':
    $lang_file = 'lang.en.php';
    break;

case 'de':
    $lang_file = 'lang.de.php';
    break;

default:
    if(visitor_country() == "Germany") {
        $lang_file = 'lang.de.php';
        //echo "Germany";
    } else {

        $lang_file = 'lang.en.php';
        //echo "Not in Germany";
    }
}