Ok, thanks, that cleared up one problem, but now I've got a new one.

I have a few functions that contact with the database from the separate
classes. One function in particular has many, which is this code:

function login($user, $pass) {
                $sql = 'SELECT * FROM '.PREFIX.'users WHERE
username="'.$user.'" AND password=password("'.$pass.'")';
                $res = $this->db->query($sql);
                if($res) {
                        if($this->db->num > 0) {
                                if($this->db->row['active'] != 0) {
                                        $_SESSION['user'] = $this->db->row;
                                        $_SESSION['loggedin'] = 1;
                                        $sql = 'UPDATE '.PREFIX.'users SET
lastactive=NOW() WHERE id="'.$_SESSION['user']['id'].'"';
                                        $this->db->query($sql);
                                        return true;
                                } else {
                                        return 'inactive';
                                }
                        } else {
                                return 'invalid';
                        }
                } else {
                        return 'mysql';
                }
        }

This function works fine, up until it calls the second SQL query:
$this->db->query($sql);

At this point, the script crashes saying "Fatal error: Call to a member
function on a non-object in /home/melchior/public_html/clients/tmp/login.php
on line 41"

Line 41 calls $user->login() which is the function above. What's odd is the
fact the first script call works, since the session variable gets populated.
If I comment out the second call, it works fine. Anyone have any ideas?

------------------------------------
Stephen Craton
[EMAIL PROTECTED]
IM: [EMAIL PROTECTED]
http://www.melchior.us
------------------------------------


-----Original Message-----
From: Curt Zirzow [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, October 26, 2004 22:55
To: PHP List
Subject: Re: [PHP] __PHP_Incomplete_Class Errors...

* Thus wrote Stephen Craton:
> I've been working on a script for a while now and it works perfectly on my
> local machine. I'm using a couple of classes, mainly my database and users
> classes.
> 
> After logging in, I assign a session variable to the user's row in the
> database: $_SESSION['user'] = $db->row;
> 
> This works fine locally, but on my hosted machine, it settings the
variable
> to this:
> 
> __PHP_Incomplete_Class Object

This means you are not defining your class before starting your
session.

If you store classes in a session you must define you class before
the call to session_start().  If you have session.auto_start = 1 in
your configuration, you will have to disable that so you can define
your classes before starting the session.

Curt
-- 
Quoth the Raven, "Nevermore."

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to