如何让控制器在访问时提交预定数据?

时间:2014-05-01 19:27:07

标签: php mysql cakephp

我认为这是一个非常简单的解决方案,但我可能错过了一些东西。

基本上,用户点击链接将其带到另一个控制器和操作。让我们说

http://website.com/controller/add/12/32/45/63

然后我希望该控制器获取这些ID,并将它们直接提交到数据库,然后将用户重定向回到首页。

这是我到目前为止所拥有的

    public function add($s_id, $t_id, $c_id, $f_id) {
        $u_id = $this->Auth->user('id');

        $data = array(
            'Favorite' => array(
                's_id' => $s_id,
                't_id' => $t_id,
                'c_id' => $c_id,
                'f_id' => $f_id,
                'u_id' => $u_id
            )
        );
        $this->Favorite->create($data);

    }

1 个答案:

答案 0 :(得分:0)

//您正在执行的代码不安全...在使用它们之前清理所有参数。

  public function add($s_id, $t_id, $c_id, $f_id) {
        $u_id = $this->Auth->user('id');

        $data = array(
            'Favorite' => array(
                's_id' => $s_id,
                't_id' => $t_id,
                'c_id' => $c_id,
                'f_id' => $f_id,
                'u_id' => $u_id
            )
        );
        $this->Favorite->save($data);
    }

 public function add($s_id, $t_id, $c_id, $f_id) {
        $u_id = $this->Auth->user('id');

        $data = array(

                's_id' => $s_id,
                't_id' => $t_id,
                'c_id' => $c_id,
                'f_id' => $f_id,
                'u_id' => $u_id

        );
        $this->Favorite->save($data);

那些将保存在新行上..