PHP添加GET变量链接
我有链接的页面,看起来像这样:PHP添加GET变量链接
<a href="http://mysite.com/page.php">...</a>
我也可以有一个GET变量郎= EN当前URL。如何将GET变量?lang = en添加到页面中的所有链接,而无需手动添加它们或向每个链接添加变量?谢谢。
检索添加郎= 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有效且可用。
更改'} else if(!isset($ _ SESSION ['lang'])){'to'} else {'... PHP不需要再次检查是否isset is – 2012-04-17 12:39:27
否 - 第一个isset '检查$ _GET ['lang']',第二个'$ _SESSION ['lang']'。阅读评论。 – megaflop 2012-04-18 11:46:08
Oups我把它变成了$ _GET,对不起:S – 2012-04-18 14:11:32
定义“我有一个页面”。这听起来像一个静态页面,是一个吗? – Jon 2012-04-17 12:09:12
你应该编写一个函数/方法来生成URL。 – kapa 2012-04-17 12:15:30