【问题标题】:Preserving language session ID from one domain to the next将语言会话 ID 从一个域保留到下一个域
【发布时间】:2019-03-16 03:07:50
【问题描述】:

我有两个多语言网站。主站点和商店站点。在主站点详细信息页面上,有一个“在商店中查找”按钮。按下按钮时,无论主页设置什么语言,商店页面都会以默认语言(预期)打开产品详细信息页面。

有没有办法在重定向到商店网站时传递语言的会话设置?

<?php
if (!session_id()) session_start();
if (!isset($_SESSION['languageID'])) {
$_SESSION['languageID'] = 1;//default value
}
?>
<?php
if (array_key_exists('german_x', $_POST)) {            
$_SESSION['languageID'] = 1;
} else if (array_key_exists('english_x', $_POST)) {
$_SESSION['languageID'] = 2;
} else if (array_key_exists('french_x', $_POST)) {
$_SESSION['languageID'] = 3;
} else if (array_key_exists('spanish_x', $_POST)) {
$_SESSION['languageID'] = 4;
} 
?>

在商店中查找按钮的 URL 如下所示:

<a href="http://www.nameofshop.eu/detail.php?recordID=<?php echo $row_rsDetail['product_id']; ?>" target="_new"><input type="submit" name="goToShop" value="Find in store" /></a>

【问题讨论】:

    标签: session cross-domain


    【解决方案1】:

    没有得到任何答案,所以我有创意。也许不是最好的或传统的方式,但这是我所做的,也许它会帮助别人:

    某些语言内容是通过包含完成的。我创建了一个 html 页面,其中包含指向详细页面的链接,该页面的语言会话设置为所需的语言。因此,当英语会话运行时,它会调用 detail_en.php,而西班牙语会调用 detail_es.php 等。

    链接如下所示:

    <a href="<?php include ('includes/'.$folder.'/findinstore.html');?>" target="_new"><input type="submit" name="goToShop" value="<?php echo $row_rscontent13['description15']; ?>" /></a>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-21
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-05-01
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多