在cakephp数据库中保存数据

时间:2013-05-09 12:50:57

标签: php database cakephp

我有一个我正在开发的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。

但是现在,我如何将其插入数据库?我尝试了各种各样的方法,但它不起作用:/

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

2 个答案:

答案 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);