2016-08-02 4 views
0

Я работаю над отображением или чтением сеанса в виде файла ctp view, но показывается диспетчер сеанса, и сеанс чтения также отображается в контроллере, но не может отображать или читать сеанс в виде ctp-файла?Cakephp 2.0 не может получить или прочитать файл просмотра сеанса?

функция контроллера

var $components = array('Auth','Session','RequestHandler','Email'); 
$selectedlocation= $_POST['location']; 
$this->Session->write('homepagelocation.selectlocation', $selectedlocation); 
echo $this->Session->read('homepagelocation.selectlocation'); 

метод чтения сессии в CTP файле

echo $this->Session->read('homepagelocation.selectlocation'); 
+1

«_but не может отображать или читать session_» не является надлежащим описанием проблемы. Даже если проблема может быть очевидна для людей, знакомых с внутренними компонентами CakePHP, всегда будьте как можно более конкретными в отношении того, что происходит _exactly_ (не выводится вывод «неправильного значения» любых ошибок и т. Д.), И что вы ожидают, что это произойдет. ps, не обращайтесь напрямую к суперглобалам! Используйте объект запроса для [** доступа к почтовым данным **] (http://book.cakephp.org/2.0/en/controllers/request-response.html#accessing-post-data). – ndm

+0

Проверьте, загружен ли компонент «Сессия» в AppController –

ответ

2

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

var $components = array('Auth','Session','RequestHandler','Email'); 
$selectedlocation= $_POST['location']; 
$this->Session->write('homepagelocation.selectlocation', $selectedlocation); 
$this->set('location', $this->Session->read('homepagelocation.selectlocation')); 

я спрошу однако, почему вы пишете данные в сессии, чтение из него и установив, что в виду, когда у вас уже есть доступ к данным, необходимым в $selectedlocation?

0

Ello, помощник. Я думаю, что вы $ _POST [] не работает таким образом в контроллер, вы должны попробовать:

$this->request->data['location']; //Cake 2.x 
$this->data['location']; //Cake 1.3 

Затем вы создали сессию к просмотру:

$this->set('location', $this->Session->read('homepagelocation.selectlocation')); 

Теперь вы можете распечатать его на ваше мнение:

echo $location;