0

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

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

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

这样我就可以将用户的用户名保存到变量 $username 中。

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

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

4

2 回答 2

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');,只是更短一些。

于 2013-05-09T13:04:07.427 回答
0
$data['modelname']['dbfieldname'] = $username;
$this->modelname->save(data);
于 2013-05-09T13:22:07.053 回答