任何人都可以举例说明如何创建会话并向其写入数据.我已经看到了如何使用write命令将数据写入会话的语法.但是如何创建会话并检索其中的值.
在我的应用程序中,我有两个数据,form_id和user_id需要在所有页面请求中使用.那么如何将其保存为会话变量并在整个应用程序中使用它?
编辑
function register() { $userId=$this->User->registerUser($this->data); $this->Session->write('User.UserId',$userId); //echo "session".$this->Session->read('User.UserId'); $this->User->data=$this->data; if (!$this->User->validates()) { $this->Flash('Please enter valid inputs','/forms' ); return; } $this->Flash('User account created','/forms/homepage/'.$userId); }
如何在$this-> Flash(‘用户帐户创建’,’/ forms / homepage /’.$userId)中使用会话变量’User.UserId’而不是$userId;
我可以在所有视图文件中使用此变量,因为在所有页面请求中我还传递了userId吗?
编辑2
我有2个控制器,用户和表单.我将userid写入users_controller中的会话变量.我有一个名为homepage.ctp的视图文件,其操作在forms_controller中.现在我如何使用主页中users_controller中定义的会话变量?对不起,如果我问愚蠢的问题.我经历了蛋糕书,但我的怀疑并没有被清除.我也在尝试编写错误的编码方法,所以请帮助我.
编辑3
我有一个会话变量’uid’,它是控制器主页操作中的用户ID.
$this->Session->write('uid',$this->data['Form']['created_by']);
我需要在同一个控制器的设计动作方法中使用相同的变量.
当我给
$uid=$this->Session->read('uid'); echo "uid: ".$uid;
价值没有回应.
我不能在同一个控制器中使用会话变量吗?
面包店是你最好的朋友:
http://book.cakephp.org/view/398/Methods
您的所有会话读/写都属于控制器:
$this->Session->write('Person.eyeColor','Green'); echo $this->Session->read('Person.eyeColor'); // Green