我正在尝试使用CakePHP在显示模式中设置变量。 我正在使用的揭示模式是与Zurb基金会</ p>
我必须生成代码并显示它。 我有一个带有generatecode()函数的HomeController。 在我的Home.ctp中,我有一个带有揭示模式的div(参见基本部分here) 我还有一个使用该代码生成的链接按钮:
echo $this->Html->Link('Unlock Link', array('action'=>'unlockpwd'), array('class' => 'button small', 'data-reveal-id' => 'modal_unlockpwd'));
这是我的行动代码:
function unlockpwd() {
$this->set('code', $this->Function->generatePwdLock());
$this->redirect($this->referer());
}
在我的Home.ctp中,我只是在显示模式中显示$ code但是我得到一个未定义的变量错误。
我认为这是因为我在设置$ code之前显示模态。
我该如何解决这个问题?我尝试了setFlash,它可以工作,但是对于用户来说,揭示模式似乎更好。
感谢您的帮助:)
答案 0 :(得分:1)
您将“代码”设置为变量并重定向远离页面,以便变量丢失。解决方案是:
function unlockpwd() {
$this->Session->write('Code', $this->Function->generatePwdLock());
$this->redirect($this->referer());
}
你想看到它的地方:
echo $this->Session->read('Code');
$this->Session->delete('Code'); //if you want to show only once