PHP将GET变量添加到链接

时间:2012-04-17 12:07:31

标签: php variables get

我的网页链接如下:

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

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

3 个答案:

答案 0 :(得分:0)

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

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

Refernece

答案 1 :(得分:0)

lang = en 添加到会话变量$_SESSION['lang']='en'&amp;在每个页面中初始化它。

答案 2 :(得分: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']。此外,您可能希望添加某种验证以确保请求的lang有效且可用。