Cakephp 2.0 无法获取或读取会话视图文件?



我正在视图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元素。

最新更新