为了账号安全,请及时绑定邮箱和手机立即绑定

Opencart 3 整个站点的会话数据

Opencart 3 整个站点的会话数据

PHP
BIG阳 2023-10-01 10:09:11
我只是想知道是否可以在 Opencart 网站上设置会话?我的意思是我在 Opencart 网站上创建了一个子目录相册。我想要实现的是在产品页面上,当用户单击相册图标时,它将被带到相册子目录。在相册子目录中,将有一个表格,用户必须填写该表格。用户在提交时从相册目录填写该表单后,用户应重定向到该产品页面,其中包含在相册目录中填写的表单数据。此外,产品页面应该选择与他/她在单击专辑之前选择的选项相同的选项。我尝试通过在专辑页面上使用以下代码设置会话数据来做到这一点。sessionStorage.setItem("album", JSON.stringify(tdata));然后返回产品页面window.history.go(-1);但是,我仍然无法在我的产品页面上获取专辑会话数据。我也尝试$_SESSION过$this->session->data有谁知道如何实现这一目标?谢谢
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

在OC会话数据保存中:


$this->session->data['your_data'] = $some_data;

编辑:


要在同一域中的非 OC 站点中保存和检索数据,请使用:应在获取该数据之前运行此文件。这意味着数据必须保存到会话中。在您的文件中,您想从哪里获取数据:


session_start();

$_SESSION['my_data'] = $some_data;

要稍后从同一域中所需的会话中检索数据,请使用以下代码:


session_start();

if (isset($_SESSION['my_data']))

    $sessionData = $_SESSION['my_data'];

else 

    $sessionData= '';

要清除数据,请使用 unset() PHP 函数,如下所示:


unset($_SESSION['my_data']);



查看完整回答
反对 回复 2023-10-01
?
炎炎设计

TA贡献1808条经验 获得超4个赞

我之前创建了自定义 jquery 文件并将其注入到我的产品页面中$data['heading_title'] = $product_info['name'];。


$this->document->addScript('catalog/view/javascript/jquery/album.js');

在我的 album.js 中


$(document).ready(function(e) {

      if (sessionStorage.getItem("album_data") != null) {

        var data = sessionStorage.getItem("album_data");

        console.log(data);

      }

}

在我的自定义 album.php 中,放置在 mysite/album/


<script>

    sessionStorage.setItem("album_data", JSON.stringify(tdata));

    window.history.go(-1);

</script>

无需创建会话或任何其他内容。创建新会话在controller/product.php 中不起作用,因为OC 有自己的处理会话数据的方式。因此,我们将无法访问其中的任何 $_SESSION 数据。OC只懂$this-session->data。


查看完整回答
反对 回复 2023-10-01
  • 2 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信