lang php 与 cookie 之间的简单切换
Simple switch between lang php with cookies
首先我想检查一下用户目前使用的是哪种语言(我已经这样做了)。
之后,如果语言与网站不同,则覆盖一条消息,该消息应弹出问题
Do you want change to your language ? click here
link 应该重定向到另一个域。
如果用户选择重定向到另一个域,比方说 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>
首先,您必须保存用户选择
我会用目标页面和当前页面之间的页面来做到这一点。例如,您的另一个域的 link 将是 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
}
}
首先我想检查一下用户目前使用的是哪种语言(我已经这样做了)。
之后,如果语言与网站不同,则覆盖一条消息,该消息应弹出问题
Do you want change to your language ? click here
link 应该重定向到另一个域。
如果用户选择重定向到另一个域,比方说 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>
首先,您必须保存用户选择 我会用目标页面和当前页面之间的页面来做到这一点。例如,您的另一个域的 link 将是 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
}
}