我有一个我正在开发的cakephp网络应用程序。 我有一个UsersController.php文件,它处理所有用户注册和登录。当用户登录时,他可以使用FeaturesController.php的功能。 FueaturesController.php有一个视图文件create.ctp。在create.ctp中,用户将一些数据插入到HTML表单中,并使用$ this-> Modelname-> save($ this-> request-> data)将这些数据保存到数据库中。
现在,我想在数据库的一个字段中添加使用该HTML的用户的用户名,但到目前为止我还没有成功! 我的代码如下所示:
$username = $this->Session->read('Auth.User.username');
这样我就可以将用户的用户名保存到变量$ username。
但是现在,我如何将其插入数据库?我尝试了各种各样的方法,但它不起作用:/
欢迎任何人的帮助,提前谢谢你:)
答案 0 :(得分: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');
完全相同,只是更短一点。
答案 1 :(得分:0)
$data['modelname']['dbfieldname'] = $username;
$this->modelname->save(data);