为啥 $_SESSION 数组在用 js-script 中的值填充后为空? [关闭]

Posted

技术标签:

【中文标题】为啥 $_SESSION 数组在用 js-script 中的值填充后为空? [关闭]【英文标题】:Why is $_SESSION array empty after filling it with value in js-script? [closed]为什么 $_SESSION 数组在用 js-script 中的值填充后为空? [关闭] 【发布时间】:2021-02-12 07:04:03 【问题描述】:

我正在尝试在我的网站上实施购物车。它是这样工作的:目录页面上的用户可以通过单击“添加到购物车”按钮将产品添加到购物车,有关产品 ID 和数量的数据通过 JS 写入会话存储。我正在努力从 cart.php 页面上的 $_SESSION 数组中输出数据。当我 var_dump() 它时,PHP 说 $_SESSION 数组是空的。 为什么会这样?我该如何解决?

【问题讨论】:

【参考方案1】:

PHP Session 和 Browser 的 session 是两个不同的东西,它们之间不能直接交换数据。

    您可以将购物车保存在本地存储中并以表单形式显示,然后提交并保存在数据库中。

    您可以使用 PHP 将购物车保存到 PHP 的会话中。

    您可以使用 AJAX 与 PHP 通信,以保存/检索 PHP 会话中的数据。

【讨论】:

我可以使用JS中的AJAX与PHP Session进行通信,对吧? 我想我会按照你第一点的建议去做 这可能是最简单的解决方案 我遇到了另一个问题。我正在尝试通过 Object.assign(session, sessionStorage) 将 sessionStorage 复制到名为 session 的变量,但是当我尝试 alert() 变量会话的长度时,它显示“未定义”。如何将 sessionStorage 复制到某个变量?【参考方案2】:

您不能添加 $_SESSION 值或使用 js 访问它。 我认为ajax可以帮助你。使用 Ajax。

【讨论】:

以上是关于为啥 $_SESSION 数组在用 js-script 中的值填充后为空? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PHP 为啥 $_SESSION 变量拒绝在浏览器关闭时取消设置?

为啥 PHP $_SESSION 变量在 header() 方法中使用时不起作用?

PHP中为啥$_SESSION语句同时用时,临时文件里有一个是空的?

如何取消设置 PHP 中作为数组的 _SESSION 变量

存储在 $_SESSION 但显示在 $_COOKIES 数组中的值

如何在 $_SESSION 中存储和检索错误数组