繁体   English   中英

PHP将GET变量添加到链接

[英]PHP add GET variable to links

我有一个页面,其链接如下所示:

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

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

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

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

Refernece

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

您可以使用输出缓冲或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有效且可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM