我正在视图ctp文件中显示或读取会话,但控制器显示是会话创建的,读取会话也显示在控制器中,但无法在视图ctp中显示或阅读会话?
控制器功能
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');
为了从视图中的控制器访问数据,您需要将数据设置到视图中。
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
中所需的数据时,为什么要将数据写入会话、从中读取并将其设置为视图?
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;
您可以在此处查看:http://book.cakephp.org/2.0/en/core-libraries/helpers/session.html在视图中可以使用Session读取方法,请在Controller中将Session设置为$helper元素。