0

私は開発中のcakephp Webアプリを持っています。すべてのユーザーの登録とログインを処理する 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 に保存するようにします。

しかし今、どうすればそれをデータベースに挿入できますか? 色々試しましたがダメでした(/_;)

誰の助けも歓迎します、事前に感謝します:)

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 に答える