【问题标题】:session data won't show会话数据不会显示
【发布时间】:2018-10-15 15:48:25
【问题描述】:

我不知道问题所在。 数据保存在会话中,但只显示最后一次输入。

        $_SESSION['data'][] = $_POST;
        $_SESSION['data']['lengtezijde'] = $_POST['lengtezijde'];
        $_SESSION['data']['kleur'] = $_POST['kleur'];
        $_SESSION['data']['hoogte'] = $_POST['hoogte'];

        ?><tr><?
        ?><th><?echo $_SESSION['data']['lengtezijde'];?></th><?
        ?><th><?echo $_SESSION['data']['kleur'];?></th><?
        ?><th><?echo $_SESSION['data']['hoogte'];?></th><?
        ?></tr><?

【问题讨论】:

  • 检查您的帖子值
  • 第一行如果你一个接一个就没有用
  • 另外我会指出将原始用户数据发送到您的会话是多么不安全,我猜测您稍后将用于处理 sql 查询。
  • @JulesR 如果我没有这条线,它不会存储任何东西
  • @BobbyAxe 是的,我知道,但要自己计算

标签: php html session


【解决方案1】:

我也试过你的代码,它对我有用。由于它是一个数组,因此您必须循环遍历它以显示值,这就是为什么我认为它只给您最后一个值。

//Declare your variables
$lengtezijde = $_POST['lengtezijde'];
$kleur = $_POST['kleur'];
$hoogte = $_POST['hoogte'];

//Store it in session
$_SESSION['data'] = array(
    'lengtezijde' => $lengtezijde,
    'kleur' => $kleur,
    'hoogte' => $hoogte,
);

现在您可以遍历数据并显示它。我希望这会有所帮助。

【讨论】:

  • 感谢您的宝贵时间,您的意思是:foreach ($_SESSION['data'] as $key => $value) { }
【解决方案2】:

如果我明白你在寻找什么,你必须检查你的 $_POST

我测试了这段代码

    $_SESSION['data'][] = "Test";
    $_SESSION['data']['lengtezijde'] = 'test1';
    $_SESSION['data']['kleur'] = 'test2';
    $_SESSION['data']['hoogte'] = 'test3';

    echo $_SESSION['data']['hoogte'];
    br();
    echo $_SESSION['data']['kleur'];
    br();
    echo  $_SESSION['data']['lengtezijde'];

结果:

test2
test1
test3

【讨论】:

    【解决方案3】:

    确保您在代码的第一行中提到了 session_start(), session_start() 也是,在你为 $_SESSION 赋值之前

    您的代码中的其他内容似乎还可以。 切勿使用以下类型的分配,它会破坏您的机器内存。如果你运行你的脚本,你会看到每次刷新页面时这个大小都会增加。这是不可取的。

       $_SESSION['data'][] = $_POST;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      • 2011-07-07
      • 2012-05-03
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多