CakePHP 2.4で新しいアカウントを追加するためのフォームがあり、管理者でログインした場合だけ、このフォームにアクセスできます。でもなぜかフォームフィールドのユーザ名とパスワードにはじめから値が入っているんです。さらに奇妙なことにアカウント名がメールアドレスフィールドに表示されます!
なぜこのようなことになるのか全然わかりません。いろいろ調べてみましたが、同じような問題を抱えている人はいないみたいです。
/Account/add.ctpは以下のようになっています。
lang
1<h1>Add a new Member</h1> 2<?php echo $this->Form->create('Account', array('url' => DEFAULT_URL.'/account/add', 'action'=>'post')); ?> 3<table class="form"> 4<tr><td>氏名:</td><td><?php echo $this->Form->input('Account.name', array('label' => false, 'div' => false, 'value' => ''));?></td></tr> 5<tr><td>メールアドレス:</td><td><?php echo $this->Form->input('Account.mail_address', array('label' => false, 'div' => false, 'value' => ''));?></td></tr> 6<tr><td>パスワード:</td><td><?php echo $this->Form->input('Account.password', array('label' => false, 'div' => false, 'value' => ''));?></td></tr> 7</table> 8 9<?php 10echo $this->Form->submit('Submit', array('フォームへの無効なデータ' => true)); 11echo $this->Form->end(); 12?>
そして以下がコントローラ、/AccountController.phpです。
lang
1public function add() { 2 3$this->layout = 'admin'; 4 5if ($this->request->is('post')) { 6// データの保存 7$this->Account->create(); 8if ($this->Account->save($this->request->data)) { 9// メッセージをセットしてリダイレクトする 10 $this->Session->setFlash(__('データが保存されました')); 11 return $this->redirect(array('action' => 'complete')); 12} 13$this->Session->setFlash(__('データの保存に失敗しました')); 14} 15 16}
ちなみに、管理者は新たに加えられるメンバーと同じくちゃんと保存はされます。ここに問題がある気がするのですが、はっきりしません。どなたか助けてください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。