为啥 $_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语句同时用时,临时文件里有一个是空的?