php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #15513 Session Not Saved if header(Location... used
Submitted: 2002-02-11 19:20 UTC Modified: 2002-02-12 08:41 UTC
From: dante dot lorenso at atmosenergy dot com Assigned:
Status: Closed Package: Session related
PHP Version: 4.1.1 OS: Windows 98 and RedHat Linux 7.2
Private report: No CVE-ID: None
 [2002-02-11 19:20 UTC] dante dot lorenso at atmosenergy dot com
If I try to set or unset a session variable by
using the $_SESSION method of session handling,
before using a 'header("Location: /xyz");' redirect,
the session variable modification is not saved.

I've tried to use a 'flush()' a 'session_write_close()'
and 'exit;'...nothing seems to help.


class A {

    /* CONSTRUCTOR */
    function A() {
        session_start();
    }

    /* works */
    function foo() {
        $_SESSION["AUTH"] = "Dante";
    }

    /* does NOT work */
    function bar() {
        $_SESSION["AUTH"] = "";
        header("Location: http://www.yahoo.com/");
        // flush();
        // session_write_close();
        // exit;
    }

    /* does NOT work */
    function bar2() {
        unset($_SESSION["AUTH"]);
        header("Location: http://www.yahoo.com/");
    }

}

//----------
/* file1.html
$a = new A();
$a->foo(); // works


//----------
/* file2.html
$a = new A();
$a->bar(); // fails

//----------
/* file3.html
$a = new A();
$a->bar2(); // fails


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-02-12 08:41 UTC] dante dot lorenso at atmosenergy dot com
Yeah, whatever.  I'm an idiot.  Everything is fine here.  Just ignore me.  --dante
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Mar 29 01:01:28 2024 UTC