将Checkbox写入CakePHP会话

时间:2013-04-22 15:14:07

标签: cakephp if-statement checkbox controller

我想有一个表单,我有一个额外的复选框(不会存储输入到db),它将在控制器中读出。

例如。 在“作业编辑”视图中,我可以选择一个用户。在此用户下是一个复选框。在我为用户分配了一封电子邮件后,此复选框将发送。

在我的控制器中我写

$post_array = $this->request->data;
if ($post_array['Job']['mailcheck'] == NULL) {
    // DO SOMETHING
} else {
    // DO SOMETHING
}

但它没有读出复选框值......

任何想法如何解决这个问题?

寻求帮助

2 个答案:

答案 0 :(得分:1)

虽然马克答案是正确的,但请允许我详细说明。

请记住,复选框有时会表现得很奇怪。未经检查的复选框可能根本不会发布,这可能就是您的情况失败的原因。

关于你无法使其发挥作用的原因:

在任何一种情况下,您似乎都在执行重定向,这就是您永远不会看到编辑表单的原因。检查你是否遗漏了某些东西或试试这个:

if ($this->request->is('post')) {
    if (!empty($this->request->data['Job']['mailcheck'])) {
        $this->redirect(array('action' => 'sendMails',$id));
    } else {
        $this->redirect(array('action' => 'sorted'));
    }
}

答案 1 :(得分:0)

这就足够了:

if (!empty($this->request->data['Job']['mailcheck'])) {
    // yes, checkbox was selected
} else {
    // no, it was not selected
}