2012-12-13 123 views
0
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']); 

我的问题是:当我呼应会话变量它工作得很好,但当我在回声后摧毁该变量它没有得到回声。呼应会话变量,然后取消会话变量不显示会话变量

+0

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

回答

0

这工作正常,我

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我得到一个未定义的指标警告

你是否在这两个页面中开始会话?

+0

亚sesion开始但我发现我没有添加exit(); – mukund

+0

@mukund你可以将所有的代码添加到你的问题,它看起来像我有多余的代码是缺少的,它可能是问题的原因 – Dale

+0

嗯整个代码可能无法添加,但我发现我有很多代码行在它下面如此。它可能会造成问题。我只是让它在标题位置后退出,所以它运行良好。 – mukund