Professional Web Applications Themes

Session variable reading doesn't work - PHP Development

L.S. I am developing a PHP-login script (on Lycos Tripod) that uses Session to pass on variables. Below is the entire (stripped) structure that I use. It opens a page where you can Set and Read the session variable BUT ... It doesn't work!!! It seems that both set- and readlink open their own private session. How can I get the read-link to access the proper session variable? Below is a full testing environment. It uses frames and should work fine ... but it doesn't. I use this directory-structure: testindex.php testmenu.php testhome.php login001 [dir] -----testsetvar.php -----testreadvar.php fb001 [dir] -----testfb.php -----testframe1.php ...

  1. #1

    Default Session variable reading doesn't work

    L.S.

    I am developing a PHP-login script (on Lycos Tripod) that uses Session to
    pass on variables. Below is the entire (stripped) structure that I use. It
    opens a page where you can Set and Read the session variable BUT ... It
    doesn't work!!! It seems that both set- and readlink open their own private
    session.

    How can I get the read-link to access the proper session variable?

    Below is a full testing environment. It uses frames and should work fine ...
    but it doesn't. I use this directory-structure:
    testindex.php
    testmenu.php
    testhome.php
    login001 [dir]
    -----testsetvar.php
    -----testreadvar.php
    fb001 [dir]
    -----testfb.php
    -----testframe1.php
    -----testframe2.php

    The content of the files is:
    ***************************************
    testindex.php
    ***************************************
    <HTML>
    <HEAD>
    <title>page</title>
    </HEAD>
    <FRAMESET BORDER="on" cols="200,*">
    <FRAME SRC="testmenu.php" NAME=menu>
    <FRAME SRC="testhome.php" NAME=main>
    </FRAMESET>
    </HTML>

    ***************************************
    testmenu.php
    ***************************************
    <HTML>
    <HEAD>
    <title>Menu</title>
    </HEAD>
    <BODY>
    <A href='login001/testsetvar.php' target='main'>Set</A> the session
    variable<BR><BR>
    <A href='fb001/testfb.php' target='main'>Read</A> the session variable
    </BODY>
    </HTML>

    ***************************************
    testhome.php
    ***************************************
    <HTML>
    <HEAD>
    <title>Home</title>
    </HEAD>
    <BODY>
    This is the Homepage
    </BODY>
    </HTML>

    ***************************************
    testsetvar.php
    ***************************************
    <?php
    session_start();
    session_register('testvar');

    $testvar="this is the testvariable";
    if(session_is_registered('testvar')):
    $reg="the testvariable IS registered";
    else:
    $reg="the testvariable is NOT registered";
    endif;

    print("var = ".$testvar."<BR>reg = ".$reg."<BR>session ID =
    ".session_id()."<BR>");
    ?>

    ***************************************
    testreadvar.php
    ***************************************
    <?
    session_start();

    if(session_is_registered('testvar')):
    $reg="the testvariable IS registered";
    else:
    $reg="the testvariable is NOT registered";
    endif;
    print("var = ".$testvar."<BR>reg = ".$reg."<BR>session ID =
    ".session_id()."<BR>");
    ?>

    ***************************************
    testfb.php
    ***************************************
    <HTML>
    <HEAD>
    <title>page</title>
    </HEAD>
    <FRAMESET BORDER="on" cols="*,150">
    <FRAME SRC="testframe1.php" NAME=frame1>
    <FRAME SRC="testframe2.php" NAME=frame2>
    </FRAMESET>
    </HTML>

    ***************************************
    testframe1.php
    ***************************************
    <?
    include("../login001/testreadvar.php");
    ?>
    <HTML>
    <HEAD>
    <title>Home</title>
    </HEAD>
    <BODY>
    <BR>This is frame1<BR>
    </BODY>
    </HTML>

    ***************************************
    testframe2.php
    ***************************************
    <HTML>
    <HEAD>
    <title>Home</title>
    </HEAD>
    <BODY>
    <BR>This is frame2
    </BODY>
    </HTML>

    ***************************************



    Peter Guest

  2. #2

    Default Re: Session variable reading doesn't work

    Peter say...
    > session_register('testvar');
    >
    > $testvar="this is the testvariable";
    I might be wrong, but first off is it that you have to register testvar
    after you've actually declared it? As I say I may be way off there.

    The other thing is to check if you've got register_globals on in your
    php.ini file.

    If it's off (which is the default IIRC) then the above won't work.
    Alternatively, just use $_SESSION["testvar"] = "this is the testvariable";

    With the $_SESSION[] array, you do not need to use session_register.

    If I used session_register with register_globals off, I got error messages
    and things didn't work as planned.

    using $_SESSION is quicker anyway, because you can just treat it like you
    might $testvar but without having to bother with another function
    (session_register) everytime.

    --
    Nathan.
    XBL Gamertag: Cowfield
    [url]http://www.cowfields.com[/url]
    Bow to the Cow!
    Nathan Guest

  3. #3

    Default Re: Session variable reading doesn't work

    Monday 28 of July 2003 14:01, Nathan wrote in alt.php:
    >
    > I might be wrong, but first off is it that you have to register testvar
    > after you've actually declared it? As I say I may be way off there.
    that's the point ... but as you said, it's better to use $_SESSION['var']
    anyway ...

    --
    Robert Jirik
    [mailto:robert(at)aristoteles(dot)xhaven(dot)net]
    public PGP key: [url]http://xhaven.net/robert/pgp_key.asc[/url]
    -
    "Real programmers don't work from 9 to 5. If any real programmers
    are around at 9am it's because they were up all night"

    Robert Jirik Guest

  4. #4

    Default Re: Session variable reading doesn't work

    I removed the references to session_start() and session_is_registered() and
    replaced them with the $_SESSION way of setting and reading the variable but
    .... ALAS it still doesn't work. Any other ideas?

    Thanks for your replies anyway, Peter.



    Peter Guest

  5. #5

    Default Re: Jippie .. Session variable reading does work

    I finally got it working. I went back to the original code, using
    session_start() etc. Nathan was right!! Apparantly, you must first declare
    the variable and then make a call to session_register().

    Thank you all for your replies.

    Peter.


    Peter Guest

  6. #6

    Default Re: Jippie .. Session variable reading does work

    Peter say...
    > Nathan was right!!
    Yay!

    --
    Nathan.
    XBL Gamertag: Cowfield
    [url]http://www.cowfields.com[/url]
    Bow to the Cow!
    Nathan Guest

Similar Threads

  1. Session object doesn't work after installing WinXP SP2
    By Peter Afonin in forum ASP.NET Security
    Replies: 2
    Last Post: August 17th, 04:25 PM
  2. Variable $PHP_SELF doesn't work
    By Maarten de Jong in forum PHP Development
    Replies: 3
    Last Post: November 20th, 05:00 PM
  3. Replies: 1
    Last Post: September 28th, 12:06 AM
  4. Session doesn't work
    By Darrell Blake in forum PHP Development
    Replies: 0
    Last Post: July 11th, 05:17 PM
  5. Session variable seems not work
    By Simon in forum PHP Development
    Replies: 0
    Last Post: July 10th, 05:46 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139