【问题标题】:save data in cakephp database将数据保存在 cakephp 数据库中
【发布时间】:2013-05-09 21:22:07
【问题描述】:

我有一个我正在开发的 cakephp 网络应用程序。 我有一个 UsersController.php 文件,它处理所有用户的注册和登录。当用户登录后,他可以使用 FeaturesController.php 的功能。 FuaturesController.php 有一个视图文件 create.ctp。在 create.ctp 中,用户将一些数据插入到 HTML 表单中,这些数据使用 $this->Modelname->save($this->request->data) 保存到数据库中。

现在,我想将执行/使用该 HTML 的用户的用户名添加到数据库的字段中,但直到现在我还没有成功! 我的代码如下所示:

$username = $this->Session->read('Auth.User.username');

以便我将用户的用户名保存到变量 $username 中。

但是现在,我怎样才能将它插入到数据库中呢?我尝试了各种方法,但没有奏效:/

欢迎任何人的帮助,提前谢谢你:)

【问题讨论】:

    标签: php database cakephp


    【解决方案1】:

    您不应该将用户名添加到表单中,因为恶意用户只需修改 HTML 即可更改它是不安全的。相反,您应该在保存之前设置它:

    $this->request->data['Modelname']['username'] = $this->Auth->user('username');
    $this->Modelname->save($this->request->data);
    

    顺便说一下,假设您使用的身份验证组件$this->Auth->user('username');$this->Session->read('Auth.User.username'); 相同,只是更短一些。

    【讨论】:

      【解决方案2】:
      $data['modelname']['dbfieldname'] = $username;
      $this->modelname->save(data);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多