[英]PHP add GET variable to links
我有一个页面,其链接如下所示:
<a href="http://mysite.com/page.php">...</a>
我在当前网址中也可能有一个GET变量?lang = en 。 如何将GET变量?lang = en添加到页面中的所有链接,而无需手动添加它们或向每个链接添加变量? 谢谢。
将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.