2016-08-16 10 views
1

私はCakePHPの初心者です。今、私はあなたのお誕生日のテーブルの列で簡単な登録とログインフォームを作成したいと思います。しかし、システムはデータを挿入したくありません!私のミスはどこですか? AppControllerで使用するフィールドを教えてもらえますか?cakePHPの登録がうまくいきません

add.ctp =

<div class="users_form"> 
<?= $this->Form->create($user) ?> 
<fieldset> 
    <legend><?= __('Add') ?></legend> 
    <?= $this->Form->input('username') ?> 
    <?= $this->Form->input('password') ?> 

</fieldset> 
<?= $this->Form->button(__('Submit')); ?> 
<?= $this->Form->end() ?> 

UsersTable.php

class UsersTable extends Table{ 
public function initialize(array $config) 
{ 
    parent::initialize($config); 

    $this->table('ab_login'); 


} 
public function validationDefault(Validator $validator) 
{ 

    return $validator 
      ->notEmpty('username', 'insert name') 
      ->notEmpty('password', 'pw insert'); 


} 
} 

AppController.php

parent::initialize(); 

    $this->loadComponent('RequestHandler'); 
    $this->loadComponent('Flash'); 
    $this->loadComponent('Auth', [ 
    'authenticate' => [ 
     'Form' => [ 
      'fields' => ['username' => 'ab_mail', 'password' => 'ab_pass'] 
     ] 
    ] 
]); 

UsersController.php

public function add() 
{ 
    $user = $this->Users->newEntity(); 
    if ($this->request->is('post')) 
    { 
     $user = $this->Users->patchEntity($user, $this->request->data); 
     if ($this->Users->save($user)) 
     { 
      $this->Flash->success(__('inserted!')); 
      return $this->redirect(['action' => 'add']); 
     } 
     $this->Flash->error(__('Error!')); 
    } 
    $this->set('user', $user); 
} 
+0

が固定されました。誰かがこのソリューションに興味がある場合は、コメントを追加してください。 – Ckappo

答えて

0

変更あなたのビューでフォーム要素へ:

<?= $this->Form->input('ab_mail') ?> 
<?= $this->Form->input('ab_pass') ?> 
0

それは間違いなく動作しますAppController.php

parent::initialize(); 

    $this->loadComponent('RequestHandler'); 
    $this->loadComponent('Flash'); 
    $this->loadComponent('Auth', [ 
    'authenticate' => [ 
     'Form' => [ 
      'fields' => ['username' => 'username', 'password' => 'password'] // Password and Username fields are pre-define in cakephp. 
     ] 
    ] 
]); 

を変更する必要があります。

ありがとう:)

関連する問題