2012-12-13 162 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