【问题标题】:echoing session variable and then unseting session variable dont show session variable回显会话变量然后插入会话变量不显示会话变量
【发布时间】:2012-12-13 11:54:15
【问题描述】:
page1.php

$_SESSION['sVar'] = 'XYZ';
header('Location:page1.php');

page1.php
echo $_SESSION['sVar']; // Works well

page1.php
echo  $_SESSION['sVar']; // donot get displayed after adding following line
unset($_SESSION['sVar']);

我的问题是:当我是回显会话变量时,它运行良好,但是当我在回显后销毁该变量时,它没有得到回显。

【问题讨论】:

  • 在会话中添加请求计数器。输出以及请求编号。您可能会在 next 请求中看到它没有得到输出 - 这是正确的。另请记住,header() 不会结束当前请求,并且会执行以下所有代码(包括取消设置会话变量),这可能是您监督的部分。

标签: php session redirect scope


【解决方案1】:

这对我来说很好用

session1.php:

<?php
    session_start();
    $_SESSION['sVar'] = 'somecrap';
    header("Location: session2.php");
    exit;

session2.php:

<?php
    session_start();
    echo $_SESSION['sVar'];
    unset($_SESSION['sVar']);

显然,如果我刷新 session2.php,我会收到未定义的索引警告

您是否在两个页面中都开始会话?

【讨论】:

  • ya 会话已启动但我发现我没有添加 exit();
  • @mukund 您能否将所有代码添加到您的问题中,在我看来,它好像缺少额外的代码,这可能是问题的原因
  • 好吧,整个代码可能无法添加,但我发现它下面有很多代码行。它可能会给它带来问题。我只是让它在标题位置之后退出,所以它运行良好。
猜你喜欢
  • 2015-05-27
  • 1970-01-01
  • 2012-05-03
  • 1970-01-01
  • 2012-04-10
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多