Re: $_SESSION <- Learning
| From: | apur kurub ver.1 | Date: | Mon, 10 May 2004 06:01:32 +0000 |
| Subject: | Re: $_SESSION <- Learning | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-185777@lists.php.net to get a copy of this message | ||
there must be
session_start() before your code
have you check the $row->user, is it have value??
rgds
[xm]
http://amadarum.e-tics.net/nigritude-ultramarine.php
----- Original Message -----
From: "Ross Bateman" <r.bateman@workmanufacturing.com>
To: <php-general@lists.php.net>
Sent: Monday, May 10, 2004 12:24 PM
Subject: [PHP] $_SESSION <- Learning
> Hi
>
> I am finally starting to try and use register_globals = off on my Servers.
> This means a lot of code that has to be checked and changed.
>
> Unfortunatly I am struggeling to come to grips with this new concept (new
to
> me that is) and was wondering if anybody could give me some pointers.
>
> Getting stumped at my login script.
> Once I have checked user and passwords, I pass a few SESSION vars to use
> throughout my app.
>
> <snip>
> if ($status == 1)
> {
> //initiate a session
> session_start();
> //register session variables
> $_SESSION['SESSION'];
> //Get DataBase details and connect to it
> include($root_path . "include/vars.php");
> $query = "SELECT * FROM admin WHERE user_name = '$user'";
> $result = mysql_query($query);
> $row = mysql_fetch_object($result);
> //include the username
> $_SESSION['SESSION_UNAME'] = $row->user;
> //include the user id
> $_SESSION['SESSION_UID'] = $row->admin_id;
> //set the SecLevel Session Var
> $_SESSION['SESSION_SEC'] = $row->sec_level;
> //Now do the redirect
> //redirect to Admin Page
> header("Location: ./admin_main.php");
> exit();
>
> }
> else
> </snip>
>
> Where ever I have the $SESSION['var_name'] I used to have a
> session_register("SESSION_VAR");
> $SESSION_VAR = $row->user;
>
> I then redirect to my app main page and check if a session is registerd to
> make sure a user is logged in:
>
> //check that each page is secure
> session_start();
> //OLD CODE IN SCRIPT = if (!session_is_registered("SESSION"))
> if(isset($_SESSION['SESSION']))
> {
> //if session check fails, invoke error handler
> header("Location: ./../error.php?e=2");
> exit();
> }
> ?>
>
> That all works fine, but when I finaly start to display data on the main
> page, nothing shows up.
>
> One of the things I try to display is the name of the user logged in:
> From the login script
> //include the username
> $_SESSION['SESSION_UNAME'] = $row->user;
>
> then on my main page
> echo "logged in as <b>" . $_SESSION['SESSION_UNAME'] .
> "</b> ";
>
> Needless to say, no data is displayed..... anybody able to point out what
I
> am getting wrong here. It used to work fine before the old way with
> register_globals = on.
>
> SIDE Note:
> On a Windows PC with Apache, PHP and MySQL installed, even with the
> register_globals = on set, the SESSION vars do not work.
>
> Thanks and sorry for the long post,
>
> Ross