session - 将语言会话 ID 从一个域保留到下一个域
问题描述
我有两个多语言网站。主站点和商店站点。在主站点详细信息页面上有一个“在商店中查找”按钮。按下按钮时,无论主页上设置的语言是什么,商店页面都会以默认语言(预期)打开产品详细信息页面。
重定向到商店网站时,有没有办法传递语言的会话设置?
<?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>
解决方案
没有得到任何答案,所以我有创意。也许不是最好的或传统的方式,但这是我所做的,也许它会帮助别人:
一些语言内容是通过包含完成的。我创建了一个带有详细页面链接的 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>
推荐阅读
- c# - 无法初始化 tesseract 引擎,但我确实拥有所有文件
- sql-server - SQL Server 服务在重新启动后需要多次重试才能启动,但最终会启动
- ssl - HTTPS 图标红色并使用 Apache2 划掉
- json - 在powershell中重新排序对象成员
- android-studio - 如何在 Android Studio 上打开 Activity_main.xml
- clojurescript - 如何在 Reagent 中编辑 Reitit 路由?
- node.js - 使用节点获取的 Firebase 函数返回证书错误
- javascript - 使用 JQuery .load() 将 JSON 数据发送到 Flask 服务器
- embedded - STM32 EEPROM 仿真与 HAL_FLASH 和 HAL_FLASH_EX 驱动程序
- java - 如何使用 UssdResponseCallback 和 sendUssdRequest?