Невозможно получить доступ ко всем данным сеанса - PullRequest
1 голос
/ 24 октября 2019

Я не могу получить доступ к данным сеанса в представлении. В приведенном ниже коде я установил session userdata Я могу получить доступ к First name и last name, но не могу отобразить nationality и salutation

Пожалуйста, проверьте этот код

Контроллер:

public function login_candidate()
{
    $data['error'] ="Invalid Username or Password";

    if($this->input->post())
    {
        $loginArray = array('candidate_email'=>$this->input->post('candidate_email'), 'candidate_password'=>md5($this->input->post('candidate_password')));

        $result = $this->Candidate_model->login_candidate($loginArray);

        if(count($result) > 0  AND is_object($result)){

            $session_data =array(
                'id'            ->$where['candidate_id'],
                'salutation'    ->$result->salutation,
                'candidate_first_name'  ->$result->candidate_first_name,
                'candidate_last_name'   ->$result->candidate_last_name,
                'nationaity'    ->$result->nationaity,

            );
            $this->session->set_userdata($session_data);
            redirect('Home');
        }else{
            $this->load->view('frontend/header');
            $this->load->view('candidate/candidate_login',$data);
            $this->load->view('frontend/footer');
        }
    }
    else{
        $this->load->view('frontend/header');
        $this->load->view('candidate/candidate_login');
        $this->load->view('frontend/footer');
    }

}

Вид:

<div class="col-md-8">
    <div class="d-flex align-items-center">
        <h2 class="font-weight-bold m-0">
            <?php echo $this->session->userdata('salutation') ?>
            <?php echo $this->session->userdata('candidate_first_name') ?>
            <?php echo $this->session->userdata('candidate_last_name') ?>
        </h2>
        <address class="m-0 pt-2 pl-0 pl-md-4 font-weight-light text-secondary">
            <i class="fa fa-map-marker"></i>
            <?php echo $this->session->userdata('nationality') ?>
        </address>
    </div>
    <p class="h5 text-primary mt-2 d-block font-weight-light">
        Full-Stack Programmer
    </p>
    <p class="lead mt-4">All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet.</p>

    <section class="d-flex mt-5">
        <button class="btn btn-light bg-transparent mr-3 mb-3">
            <i class="fa fa-comments"></i>
            Private Message
        </button>
        <button class="btn btn-light bg-transparent mr-3 mb-3">
            <i class="fa fa-warning"></i>
            Report User
        </button>
        <button class="btn btn-primary mb-3">
            <i class="fa fa-check"></i>
            Hire Me
        </button>
    </section>

</div>

Здесь он не отображаетсячто-нибудь под приветствием и национальностью, но в то же время отображаются имя и фамилия

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

Вы получите весь сеансовый ключ, который вы установили с помощью userdata

$allSession = $this->session->userdata();
print_r($allSession);
0 голосов
/ 24 октября 2019

Я обновил код в соответствии с Controler

if(count($result) > 0){



                $this->session->set_userdata('salutation', $result[0]->salutation);
                $this->session->set_userdata('candidate_first_name', $result[0]->candidate_first_name);
                $this->session->set_userdata('candidate_last_name', $result[0]->candidate_last_name);
                $this->session->set_userdata('nationaity', $result[0]->nationaity);
                $this->session->set_userdata('candidate_email', $result[0]->candidate_email);
                $this->session->set_userdata('candidate_phone', $result[0]->candidate_phone);
                $this->session->set_userdata('candidate_job_title', $result[0]->candidate_job_title);

                $session_data = $this->session->all_userdata(); 

                redirect('Home');
            }

И отображаю данные в виде

<?php echo $_SESSION['candidate_first_name'];?>

одинаково для всех, изменяя имя переменной

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...