2010-11-22 2 views
0

КонтроллерCakePHP сессия не может быть написана

function login() { 
    // Don't show the error message if no data has been submitted. 
$this->set('error', false); 

    // Does not render the view 
    $this->autoRender = false; 

// If a user has submitted form data: 
if(!empty($this->data)) { 
    $someone = $this->Student->findByStudentEmail($this->data['Student']['email']); 
    if(!empty($someone['Student']['student_pwd']) && $someone['Student']['student_pwd'] == $this->data['Student']['password']) { 

     $this->Session->write('eyeColor', 'Green'); 
     $this->Session->write('Student', $someone['Student']); 

     // session information to remember this user as 'logged-in'. 
     echo "success"; 

    } else { 
     echo "failed"; 
    } 
} 
function main(){ 
    $this->set('students', $this->Student->find('all')); 

    $this->set('eyeColor', $this->Session->read('eyeColor')); 

    // Render the specified view 
    $this->render('/pages/main'); 
} 

вид main.ctp

<?php print $eyeColor; ?> 
+1

Вы получаете сообщения об ошибках? Правильно ли вы настроили сеансы? –

+0

Включили ли вы компонент сеанса в контроллер? – JJJ

+0

@Juhana: Вам не нужно включать компонент сеанса в контроллер, он автоматически загружается. – dhofstet

ответ

0
<?php echo $session->read('eyeColor') ?> 

Это в руководстве: http://book.cakephp.org/view/1466/Methods

Признайтесь Впрочем, это не очень понятно. Может быть, я отправлю обновление.