Sharing session variables

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Mladen Gogala

    Sharing session variables

    How can I share session registered variables between different processes?
    Here is my problem:
    File 1:
    -----------------------------------------------------------------------
    <?php
    session_start() ;
    $var1="This should";
    $var2="be displayed";
    $_SESSION[ 'var1' ]=$var1;
    $_SESSION[ 'var2' ]=$var2;
    if (session_is_reg istered('var1') ) {
    print "Var1 is registered<br>" ;
    }
    if (session_is_reg istered('var2') ) {
    print "Var2 is registered<br>" ;
    }
    print "<A HREF=/work/test2.php>Secon d File</A>";
    ?>


    File 2:
    -----------------------------------------------------------------------
    <?php
    if (session_is_reg istered('var1') ) {
    print "test2:Var1 is registered<br>" ;
    }
    if (session_is_reg istered('var2') ) {
    print "test2:Var2 is registered<br>" ;
    }

    $var1=$_SESSION[ 'var1' ];
    $var2=$_SESSION[ 'var2' ];
    print "$var1 $var2 <br>";
    ?>


    In file test2.php neither variable is reported as a session registered
    variable and nothing is displayed. File /tmp/sess* has the correct
    contents:
    var1|s:11:"This should";var2|s: 12:"be displayed";

    How can I establish real global variables, ones which will
    be visible in both files? I thought that httpd was supposed
    to read the sessxxxxx file, depending on the cookie received from
    the browser and establish those global variables.
    I apologize if it is a beginer question, but I was unable to
    answer it either through the O'Reilly book or PHP online literature.
    I'm at the verge of re-installing PHP 4.3.36 with shmop module enabled.
    --
    Trust me, I know what I'm doing. (Sledge Hammer)

  • StinkFinger

    #2
    Re: Sharing session variables

    make sure you add:
    session_start() ;
    and the top of each page that you want to access the variables in.

    "Mladen Gogala" <gogala@sbcglob al.net> wrote in message
    news:pan.2004.0 6.02.04.49.57.1 86315@sbcglobal .net...[color=blue]
    > How can I share session registered variables between different processes?
    > Here is my problem:
    > File 1:
    > -----------------------------------------------------------------------
    > <?php
    > session_start() ;
    > $var1="This should";
    > $var2="be displayed";
    > $_SESSION[ 'var1' ]=$var1;
    > $_SESSION[ 'var2' ]=$var2;
    > if (session_is_reg istered('var1') ) {
    > print "Var1 is registered<br>" ;
    > }
    > if (session_is_reg istered('var2') ) {
    > print "Var2 is registered<br>" ;
    > }
    > print "<A HREF=/work/test2.php>Secon d File</A>";
    > ?>
    >
    >
    > File 2:
    > -----------------------------------------------------------------------
    > <?php
    > if (session_is_reg istered('var1') ) {
    > print "test2:Var1 is registered<br>" ;
    > }
    > if (session_is_reg istered('var2') ) {
    > print "test2:Var2 is registered<br>" ;
    > }
    >
    > $var1=$_SESSION[ 'var1' ];
    > $var2=$_SESSION[ 'var2' ];
    > print "$var1 $var2 <br>";
    > ?>
    >
    >
    > In file test2.php neither variable is reported as a session registered
    > variable and nothing is displayed. File /tmp/sess* has the correct
    > contents:
    > var1|s:11:"This should";var2|s: 12:"be displayed";
    >
    > How can I establish real global variables, ones which will
    > be visible in both files? I thought that httpd was supposed
    > to read the sessxxxxx file, depending on the cookie received from
    > the browser and establish those global variables.
    > I apologize if it is a beginer question, but I was unable to
    > answer it either through the O'Reilly book or PHP online literature.
    > I'm at the verge of re-installing PHP 4.3.36 with shmop module enabled.
    > --
    > Trust me, I know what I'm doing. (Sledge Hammer)
    >[/color]


    Comment

    • Mladen Gogala

      #3
      Re: Sharing session variables

      On Tue, 01 Jun 2004 22:17:24 -0800, StinkFinger wrote:
      [color=blue]
      > make sure you add:
      > session_start() ;
      > and the top of each page that you want to access the variables in.[/color]

      Thanks a lot. That was it.

      --
      Trust me, I know what I'm doing. (Sledge Hammer)

      Comment

      • FLEB

        #4
        Re: Sharing session variables

        Regarding this well-known quote, often attributed to Mladen Gogala's famous
        "Wed, 02 Jun 2004 00:49:58 -0400" speech:
        [color=blue]
        > How can I share session registered variables between different processes?
        > Here is my problem:
        > File 1:
        > -----------------------------------------------------------------------
        > <?php
        > session_start() ;
        > $var1="This should";
        > $var2="be displayed";
        > $_SESSION[ 'var1' ]=$var1;
        > $_SESSION[ 'var2' ]=$var2;
        > if (session_is_reg istered('var1') ) {
        > print "Var1 is registered<br>" ;
        > }
        > if (session_is_reg istered('var2') ) {
        > print "Var2 is registered<br>" ;
        > }
        > print "<A HREF=/work/test2.php>Secon d File</A>";
        > ?>
        >
        >
        > File 2:
        > -----------------------------------------------------------------------
        > <?php
        > if (session_is_reg istered('var1') ) {
        > print "test2:Var1 is registered<br>" ;
        > }
        > if (session_is_reg istered('var2') ) {
        > print "test2:Var2 is registered<br>" ;
        > }
        >
        > $var1=$_SESSION[ 'var1' ];
        > $var2=$_SESSION[ 'var2' ];
        > print "$var1 $var2 <br>";
        > ?>
        >
        >
        > In file test2.php neither variable is reported as a session registered
        > variable and nothing is displayed. File /tmp/sess* has the correct
        > contents:
        > var1|s:11:"This should";var2|s: 12:"be displayed";
        >
        > How can I establish real global variables, ones which will
        > be visible in both files? I thought that httpd was supposed
        > to read the sessxxxxx file, depending on the cookie received from
        > the browser and establish those global variables.
        > I apologize if it is a beginer question, but I was unable to
        > answer it either through the O'Reilly book or PHP online literature.
        > I'm at the verge of re-installing PHP 4.3.36 with shmop module enabled.[/color]

        Be sure to session_start() the session in test2.php. The session_start()
        function is a bit misnamed. You use it to start a new session but you also
        use it to continue an old one.



        --
        -- Rudy Fleminger
        -- sp@mmers.and.ev il.ones.will.bo w-down-to.us
        (put "Hey!" in the Subject line for priority processing!)
        -- http://www.pixelsaredead.com

        Comment

        Working...