Why aren't my class variables being set?

ShoeLace1291

I am using CodeIgniter to develop my login system. Through a core extension of the controller class that gets the current user's information, I use $this->user throughout the app controllers to display the user's information. On my local WAMP server, this works perfectly. On my web server, however, it always displays the information of the guest after you login. Note the var_dump towards the bottom of the member get info method. This always displays the correct account information. But once I call it from the controller extension, it displays guest information.

The Controller extension class:

class MY_Controller extends CI_Controller {

    var $user = array();

    function __construct(){

        parent::__construct();
        $this->benchmark->mark('foo');
        //$this->output->cache(5);
        if(!$this->config->item('global_maintenance')){                 

            $this->member->get_info($this->session->userdata('member_id'));
            if($this->member->error == NULL){

                $this->user = $this->member->info;

            } else {

                die($this->member->error);

            }                   


           } else {

                die('BaseCMD is currently down for routine maintenance.  Please try again later!');

            }

    }

}

The member model:

<?php

class Member extends CI_Model {

    var $info = array();
    var $activation_code = '';
    var $error = NULL;

    function __construct(){

        parent::__construct();
        $this->error = NULL;

    }

    function default_info(){

        $info = array(
                'id' => 0,
                'display_name' => 'Guest',
                'email_address' => '',
                'password' => '',
                'status' => 0,
                'activation_code' => '',
                'location' => '',
                'date_joined' => '',
                'gender' => '',
                'results_per_page' => 10,
                'admin_emails' => FALSE,
                'member_emails' => FALSE,
                'team' => array('id' => 0),
                'perms' => array(),
                'group' => array('id' => 0),
                'stats' => array(),
                'signature' => '',
                'last_active' => 0,
                'last_forum_visit' => 0,
                'member_profile' => 'Guest',
                'date_of_birth' => '',
                'gender' => '',
                'profile_banner' => '',
                'avatar' => array('url' => '')
            );

        return $info;

    }

    public function get_info($criteria = 0){

        if(is_numeric($criteria)){
            $where = "WHERE m.member_id = ".$criteria;
        } else {
            $where = "WHERE email_address = '".$criteria."'";
        }           

        $query_member = "
            SELECT
                m.member_id AS member_id, m.display_name, m.email_address, m.group_id, m.status, m.activation_code, UNIX_TIMESTAMP(m.date_joined) AS date_joined,
                m.gender, m.location, m.biography, m.mantra, m.birth_date, m.results_per_page, m.admin_emails, m.member_emails, m.last_active, m.avatar_id, 
                m.banner_id, m.signature, m.newsletter_subscription, m.recruiting_status, m.facebook_username, m.website, m.steam_username, m.xboxlive_gamertag, m.psn_id,
                g.group_id, g.title, g.description,
                a.attachment_id, a.file_name,      
                f.message_id, f.author_id, COUNT(f.message_id) AS forum_count,  
                b.attachment_id AS banner_id, b.file_name AS banner_file,
                mr.request_id, mr.author_id, mr.recipient_id, mr.status, COUNT(mr.request_id) AS total_friends,
                tm.team_member_id, tm.member_id, tm.team_id
            FROM members AS m
            LEFT JOIN member_groups AS g ON (m.group_id = g.group_id)   
            LEFT JOIN attachments AS a ON (m.avatar_id = a.attachment_id)         
            LEFT JOIN forum_messages AS f ON (m.member_id = f.author_id)
            LEFT JOIN attachments AS b ON (m.banner_id = b.attachment_id)
            LEFT JOIN member_requests AS mr ON (m.member_id = mr.author_id OR m.member_id = mr.recipient_id) AND mr.status = 1
            LEFT JOIN team_members AS tm ON (m.member_id = tm.member_id) AND date_left = ''
            ".$where."
            GROUP BY m.member_id
            LIMIT 1";     

        //show_error($query_member);     

        if($query_member = $this->db->query($query_member)){

            if($query_member->num_rows() > 0){

                $member = $query_member->row_array();

                $member_id = $member['member_id'];                
                    var_dump($this->session->all_userdata());
                 $info = array(
                    'id' => $member['member_id'],
                    'display_name' => $member['display_name'],
                    'email_address' => $member['email_address'],
                    'status' => ($member['status'] == 0) ? FALSE : TRUE,
                    'activation_code' => $member['activation_code'],
                    'location' => $member['location'],
                    'date_joined' => date('M jS, Y', $member['date_joined']),
                    'gender' => ($member['gender'] == 0) ? 'Male' : 'Female',
                    'results_per_page' => $member['results_per_page'],
                    'admin_emails' => ($member['admin_emails'] == 0) ? FALSE : TRUE,
                    'member_emails' => ($member['member_emails'] == 0) ? FALSE : TRUE,
                    'group' => array(
                        'id' => $member['group_id'],
                        'title' => $member['title'],
                        'description' => $member['description']
                        ),
                    'signature' => $member['signature'],
                    'last_active' => strtotime($member['last_active']),
                    'member_profile' => anchor('members/'.url_title($member['display_name']).'/'.$member['member_id'], $member['display_name']),
                    'newsletter' => ($member['newsletter_subscription'] == 1) ? TRUE : FALSE,
                    'date_of_birth' => date('M jS, Y', strtotime($member['birth_date'])),
                    'birth_date' => date('Y-m-d', strtotime($member['birth_date'])),
                    'age' => floor((time() - strtotime($member['birth_date'])) / (60 * 60 * 24 * 365)),
                    'gender' => $member['gender'],
                    'biography' => $member['biography'],
                    'mantra' => $member['mantra'],
                    'contact' => array(
                        'email' => ($member['member_emails'] == '1') ? $member['email_address'] : NULL,
                        'website' => ($member['website'] != '') ? $member['website'] : NULL,
                        'facebook' => ($member['facebook_username'] != '') ? 'http://www.facebook.com/'.$member['facebook_username'] : NULL,
                        'steam' => ($member['steam_username'] != '') ? 'http://www.steamcommunity.com/id/'.$member['steam_username'] : NULL,                        
                        ),
                    'gaming' => array(
                        'xboxlive' => $member['xboxlive_gamertag'],
                        'psn' => $member['psn_id'],
                        'steam' => $member['steam_username']
                        ),
                    'statistics' => array('post_count' => $member['forum_count']),
                    'avatar' => array(
                        'attachment_id' => $member['attachment_id'],
                        'url' => base_url('attachments/'.$member['file_name'])
                        ),
                    'banner' => array(
                        'id' => $member['banner_id'],
                        'url' => base_url('attachments/'.$member['banner_file'])
                        ),
                    'friend_status' => FALSE,
                    'recruiting_status' => ($member['team_id'] == '' && $member['recruiting_status'] == '1') ? TRUE : FALSE
                    );
                //$info['friend_results'] = $this->friend_results($member_id);
                var_dump($info);
                $this->info = $info;

            } else {

                $this->info = $this->default_info();

            }

        } else {

            $this->error = $this->db->_error_message();
        }
        //show_error(var_dump($this->info));

    }
ShoeLace1291

Ok, so after dumping the variables from my controller extension, the member model, and my template, I realized that my problems didn't have anything to do with my sessions or my classes. It was actually my conditional statement that determined if the user was logged in or not that I use in my templates.

<?php

if($this->user['id'] === 0){// This is correct.

  echo "You're logged out.";

}

if($this->user['id'] == 0) // This is what I was using and is not correct, apparently.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Class variables values aren't being updated

From Dev

why aren't my data being push to my global array

From Dev

Objective-C: My init values aren't being set

From Dev

Why aren't my list elements being swapped?

From Dev

Why aren't my Minitest tests being run in parallel?

From Dev

Why aren't my dictionary values being stored as integers?

From Dev

Why aren't my list elements being swapped?

From Dev

Why aren't my Minitest tests being run in parallel?

From Dev

Why aren't my arguments being passed to the parameters?

From Dev

Why aren't the values from my directive being passed into the function?

From Dev

Java Why aren't "Set-Cookie" headers being read?

From Dev

My photos aren't being saved

From Dev

Why aren't my email messages being sent from my VPS using PhpList?

From Dev

Why aren't my email messages being sent from my VPS using PhpList?

From Dev

Why aren't the query results being displayed?

From Dev

Why aren't files being ignored by Git?

From Dev

Why aren't my assets being moved when building an electron app?

From Dev

Why aren't my queued tasks being handled by all threads in the threadpool?

From Dev

Why aren't my hidden fields being reset when I execute the reset method on a form element?

From Dev

Why aren't server-side changes being reflected in my app?

From Dev

Why aren't my QRadioButtons 'exclusive' after being added to separate QButtonGroups?

From Dev

Why aren't my hidden fields being reset when I execute the reset method on a form element?

From Dev

need a new pair of eyes to find out why my quads aren't being colored

From Dev

Why aren't my styles being applied when the input has a value?

From Dev

AWS ECS Environment variables aren't set

From Dev

Why aren't the co-ordinate variables incrementing and decrementing in my functions in Python?

From Dev

Why aren't my text labels appearing?

From Dev

Why aren't my modifications to xkb working?

From Dev

Why aren't my href links working?

Related Related

  1. 1

    Class variables values aren't being updated

  2. 2

    why aren't my data being push to my global array

  3. 3

    Objective-C: My init values aren't being set

  4. 4

    Why aren't my list elements being swapped?

  5. 5

    Why aren't my Minitest tests being run in parallel?

  6. 6

    Why aren't my dictionary values being stored as integers?

  7. 7

    Why aren't my list elements being swapped?

  8. 8

    Why aren't my Minitest tests being run in parallel?

  9. 9

    Why aren't my arguments being passed to the parameters?

  10. 10

    Why aren't the values from my directive being passed into the function?

  11. 11

    Java Why aren't "Set-Cookie" headers being read?

  12. 12

    My photos aren't being saved

  13. 13

    Why aren't my email messages being sent from my VPS using PhpList?

  14. 14

    Why aren't my email messages being sent from my VPS using PhpList?

  15. 15

    Why aren't the query results being displayed?

  16. 16

    Why aren't files being ignored by Git?

  17. 17

    Why aren't my assets being moved when building an electron app?

  18. 18

    Why aren't my queued tasks being handled by all threads in the threadpool?

  19. 19

    Why aren't my hidden fields being reset when I execute the reset method on a form element?

  20. 20

    Why aren't server-side changes being reflected in my app?

  21. 21

    Why aren't my QRadioButtons 'exclusive' after being added to separate QButtonGroups?

  22. 22

    Why aren't my hidden fields being reset when I execute the reset method on a form element?

  23. 23

    need a new pair of eyes to find out why my quads aren't being colored

  24. 24

    Why aren't my styles being applied when the input has a value?

  25. 25

    AWS ECS Environment variables aren't set

  26. 26

    Why aren't the co-ordinate variables incrementing and decrementing in my functions in Python?

  27. 27

    Why aren't my text labels appearing?

  28. 28

    Why aren't my modifications to xkb working?

  29. 29

    Why aren't my href links working?

HotTag

Archive