我的网站中有一个语言系统。当人们点击切换到另一种语言时,会在 url 中添加以下内容:?lang=. ?p=问题是,我的网站也被添加到 url的页面划分。所以基本上,如果他们在其中一个页面上更改语言,它将覆盖?p=并返回主页。所以会的index.php?lang=。
代码是什么,或者我应该如何对其进行编码,以便 php 验证?url 中是否已经有一个字符串并切换?lang=到&lang=?
您可以使用http_build_query来避免此问题:
$params = array(
'p' => 'foo',
'lang' => 'bar'
);
echo http_build_query($params); // p=foo&lang=bar
echo '?' . http_build_query($params); // ?p=foo&lang=bar
检查是否$_SERVER['QUERY_STRING']为空。
如果是,则添加,?lang=否则添加&lang=