Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cake PHP3.2的ctp(模板/视图文件)中获取会话存储值?_Php_Session_Cakephp_Cakephp 3.0 - Fatal编程技术网

如何在cake PHP3.2的ctp(模板/视图文件)中获取会话存储值?

如何在cake PHP3.2的ctp(模板/视图文件)中获取会话存储值?,php,session,cakephp,cakephp-3.0,Php,Session,Cakephp,Cakephp 3.0,这里我在php文件中登录后使用下面的代码 echo$get\u user\u id=$this->Auth->user('id')//出去,出去 但是如果我在登录后在ctp中使用这个 错误就要来了 我用另一种方法做了,但仍然不起作用。 登录后,我以这种方式存储id $session=$this->request->session(); $session->write('User_id',$this->Auth->User('id'); echo$session->read('User_id

这里我在php文件中登录后使用下面的代码

echo$get\u user\u id=$this->Auth->user('id')//出去,出去
但是如果我在登录后在ctp中使用这个


错误就要来了

我用另一种方法做了,但仍然不起作用。 登录后,我以这种方式存储id

$session=$this->request->session();
$session->write('User_id',$this->Auth->User('id');
echo$session->read('User_id')//9
并尝试以这种方式在ctp文件中获取该值


但是,它仍然没有出现。只有当我将这个值设置为ctp时,它才会出现

$get\u user\u id=$this->Auth->user('id');
$this->set(压缩('get_user_id'));
//ctp文件
是否有任何方法可以在直接登录后获取会话存储id(无需使用set) 在CakePHP2X版本中,更容易在ctp中获取会话存储值 但不是在cakephp 3X中 .对不起,我是cakephp 3X新手 .如有任何建议,将不胜感激
。提前谢谢。

您应该先使用Auth,然后再使用User

$session = $this->request->session();
$session->read('Auth.User.id')


更多信息-

但在我这方面,它可以工作,我也在使用cakephp 3XOk,它在php文件中工作,我的意思是这个$session->read('Auth.User.id')结果以id的形式出现,但当我在ctp中使用时,错误就出现了。这段代码我在ctp中使用过。错误出现错误:调用空文件E:\htdocs\adminCake3\adminCake3\src\Template\Users\profile.ctp行上的成员函数read():42Yes是第二个,而不是$session->read('Auth.User.id'))如果我使用任何方法,这两个变量都是相同的,我必须在ctp中定义$session变量。
$this->request->session()->read('Auth.User')