Как мне получить эту функцию в контроллере для загрузки в поле зрения - PullRequest
0 голосов
/ 11 марта 2012

Это в контроллере

class LandingPage extends CI_Controller {
    public function startEncryptedSession(){
    $this->load->library('session'); 
    $this->load->library('encrypt');    

    $this->load->view('index', array('session', $this->session));
}


}

Как мне загрузить это в представлении index

view код

<?php echo $head; ?>

<body>
    <?php echo $guts; ?>
</body>

<?php echo $foot; ?>
<?php echo $session->userdata('session_key'); ?> 

Я использую воспламенитель кода MVC

Когда я загружаю вид, он дает мне:

<h4>A PHP Error was encountered</h4>

<p>Severity: Notice</p>
<p>Message:  Undefined variable: session</p>
<p>Filename: views/index.php</p>
<p>Line Number: 8</p>

</div><br />
<b>Fatal error</b>:  Call to a member function userdata() on a non-object 

1 Ответ

0 голосов
/ 11 марта 2012

Вам нужно передать переменные, которые вы хотите использовать, на ваш взгляд. Примерно так:

В одну сторону:

В вашем контроллере:

public function startEncryptedSession(){
    $this->load->library('session'); 
    $this->load->library('encrypt');
    $data = array('session_key' => $this->session->userdata('session_key'));
    $this->load->view('index', $data);
}

На ваш взгляд:

<?php echo $session_key; ?> 

Другой способ:

В вашем контроллере:

public function startEncryptedSession(){
    $this->load->library('session'); 
    $this->load->library('encrypt');    
    $data = array('session' => $this->session->all_userdata());
    $this->load->view('index', $data);
}

На ваш взгляд:

<?php echo $session['session_key']; ?> 

Несколько советов: класс сеанса CodeIgniter отчасти отстой, поскольку он хранит данные в файле cookie и имеет очень низкий предел размера данных (или, по крайней мере, так было в прошлый раз, когда я проверял) ... так что вы можете Вы хотите обработать его с помощью стандартных сессионных функций PHP или создав собственный класс. Но я оставлю это для вас, чтобы проверить, так как это не то, что вы просили.

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