【问题标题】:How do I set the SESSION variable in a foreach loop for each particular data如何在 foreach 循环中为每个特定数据设置 SESSION 变量
【发布时间】:2015-12-10 03:03:42
【问题描述】:

我有一个foreach 循环,它输出保存在数组中的项目。这很好用,但我想在会话变量中为每个项目存储一些东西,以便信息在其他地方可用。我正在尝试在foreach 循环内创建会话变量,但当然,每次循环通过不同的项目时,这些变量都需要有不同的数据。

假设我有产品数据:NameImagePrice 和一个带有链接的按钮。在这种情况下,按钮链接将存储在foreach 循环内的会话变量中,因为该链接应该在其他地方使用。当我单击按钮时,该特定产品的特定链接存储在会话变量中。当我从一个页面重定向到另一个页面时,我使用该链接,该链接位于使用会话概念的会话变量中。

但是,当我从一个页面重定向到另一个页面并回显会话变量(产品链接)时,它只会回显最后一个值(最后一个产品链接)。假设我有五个项目,它们有五个不同的产品链接。当会话变量在重定向时回显时,PHP 页面将仅采用 foreach 循环的最后一个值。相反,它需要特定的产品链接。

【问题讨论】:

  • 请发布您的代码!
  • 你真的需要展示你的代码并列举你的输入和你得到的结果,以及你期望得到的结果。

标签: php arrays session foreach


【解决方案1】:

$_SESSION 可以是任何适当的 php 类型,例如数组。 所以你只需要用你的数据填充一个数组,然后设置$_SESSION['data'] = $array;。就这样。在对该用户的任何后续请求中,数据将在那里并且可以像 $_POST、$_GET 等一样访问。

每次设置该变量时 - 如果您不采取任何措施将它们保存到其他位置,之前的值将会丢失。

【讨论】:

    猜你喜欢
    • 2021-09-07
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 2023-03-24
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多