PHP-更改会话值以更改语言

维克多·鲁迪(Viktor Rudi)

我试图通过单击链接将会话更改为“ en”或“ no”的值,以便在网站上显示正确的语言。

我有2个变量,$langNO$langEN这些是包含每种语言的键和值的变量。

我正在使用这个:

if (!isset($_SESSION['lang'])) {$_SESSION['lang'] = "en";}
if ($_SESSION['lang'] === "no") {$lang = $langNO;}
if ($_SESSION['lang'] === "en") {$lang = $langEN;}

$lang与文本中的字符串有关。例:

<h1><?php echo $lang['heading']; ?></h1>

要更改会话值,请在changelang.php中使用它

session_start();
$_SESSION['lang'] = $_GET['lang'];
header("Location:index.php");

当我单击<a href="changelang.php?lang=no">NO</a>以更改语言时,它仅保留默认语言。

我很想获得一些有关如何解决此问题的反馈。

谢谢!

萨皮耶

我只是稍微修改了索引代码

index.php

<?php
session_start();
if (!isset($_SESSION['lang'])) {  
    $lang = "en"; 
} else {
    $lang = $_SESSION['lang'];
}

switch ($_SESSION['lang']) {
    case "en":
        $lang = $langEN;
        break;
    case "no":
        $lang = $langNO;
        break;
}
?>

<a href="changelang.php?lang=no">NO</a>

changelang.php

<?php  
session_start();
$_SESSION['lang'] = $_GET['lang'];
header("Location:index.php");
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章