1

我有一个带有如下链接的页面:

<a href="http://mysite.com/page.php">...</a>

我也可能在当前 url 中有一个 GET 变量?lang=en 。如何将 GET 变量 ?lang=en 添加到页面中的所有链接,而无需手动添加它们或向每个链接添加变量?谢谢。

4

3 回答 3

0

您可以使用输出缓冲或 Apache 过滤器来解析您的输出以自动将 lang 查询字符串参数添加到所有链接,但是,这并不是非常有效。

如果您真的不想手动将其添加到每个链接,那么我建议您将其存储在会话变量中。

在每个页面的开头(可能在一个通用的包含脚本中)你可以有类似的东西:

<?php
define('DEFAULT_LANG', 'en_GB');

session_start();

// check if a new lang has been specified.
if (isset($_GET['lang'])) {

    // yes, so use the requested lang
    $_SESSION['lang'] = $_GET['lang'];

    // otherwise, check if a lang was previously set
} else if ( ! isset($_SESSION['lang']) ) {

    // no, so use default lang:
    $_SESSION['lang'] = DEFAULT_LANG;

}
?>

然后,您应该在页面的其余部分使用$_SESSION['lang']而不是。$_GET['lang']此外,您可能希望添加某种验证以确保请求的语言有效且可用。

于 2012-04-17T12:19:10.853 回答
0

$_ENV['lang'] = 'en'您的基本(假设config.php)文件中设置

getenv('lang')并通过or检索 $_ENV['lang']

Refernece

于 2012-04-17T12:13:10.233 回答
0

lang=en添加到会话变量中$_SESSION['lang']='en',并在每个页面中对其进行初始化。

于 2012-04-17T12:15:30.637 回答