首先,我想检查一下用户正在使用哪种语言(我已经完成了)。
之后如果语言与网站不同,则覆盖一条应弹出问题的消息
你想改变你的语言吗?点击这里
链接应该重定向到另一个域。
如果用户选择重定向到另一个域,请假设DE,cookie应该保留该设置至少一个月,并始终将该用户重定向到DE域,即使他进入主域。
以下是我现在所拥有的:
<?php
$cookie_name = "user";
$cookie_value = "";
setcookie($cookie_name, $cookie_value, time() + (86400*36) , "/"); // 86400 = 1 day
?>
<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang){
case "pl":
//echo "PAGE FR";
$domain = '<a href="linkFirstDomain">click here</a>';
break;
case "en":
$domain = '<a href="linkSecondDomain">click here</a>';
break;
default:
$domain = '<a href="linkFirstDomain">click here</a>';
break;
}
HTML
<div class='overlay'>You are using ENG lang atm do you want switch to ?
<?php echo $domain; ?> </div>
答案 0 :(得分:0)
首先,您必须保存用户选择 我会在目的地和当前页面之间的页面上执行此操作。例如,指向您的另一个域的链接为http://example.com/changelang.php?target=domain1 在那里你用所需的语言保存cookie
if(isset($_GET['target']) AND $_GET['target'] == 'domain1')
{
setcookie($cookie_name, "domain1", time() + (86400*36) , "/"); // 86400 = 1 day
并重定向到此页面
header('Location: http://de.domain1.com/');
exit;
}
其次,你必须检查是否存在现有的cookie
<?php
if(isset($_COOKIE[$cookie_name]))
{
//do switch here
switch($_COOKIE[$cookie_name])
{
case 'de':
//redirect to other page
header('Location: http://de.domain1.com/');
exit;
break; //this is useless
}
}