Почему моя программа CakePHP не сохраняет один из входов? - PullRequest
0 голосов
/ 16 октября 2019

Почему этот код не сохраняет входные данные исследовательского поля в базу данных? Это сохраняет имя пользователя и хешированный пароль. Я использовал этот учебник.

src / Template / Users / asd.ctp

<?php
   echo $this->Form->create("Users",array('url'=>'/users/asd'));
   echo $this->Form->input('username');
   echo $this->Form->input('password');
   echo $this->Form->input('research');
   echo $this->Form->button('Submit');
   echo $this->Form->end();
?>

src / controller / UsersController.php

public function asd(){
        if($this->request->is('post')){
           $username = $this->request->data('username');
           $research = $this->request->data('research');
           $hashPswdObj = new DefaultPasswordHasher;
           $password = $hashPswdObj->hash($this->request->data('password'));
           $users_table = TableRegistry::get('asd');
           $users = $users_table->newEntity();
           $users->username = $username;
           $users->password = $password;
           $users->research = $research;

           if($users_table->save($users))
           echo "User is added.";
        }
    }

config / rout.php

$routes->connect('/users/asd', ['controller' => 'Users', 'action' => 'asd']);

Таблица базы данных MySQL

CREATE TABLE `asd` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `username` varchar(50) NOT NULL,
   `password` varchar(255) NOT NULL,
   `research` varchar(65) NOT NULL,
   PRIMARY KEY (`id`)
) 
ENGINE = InnoDB AUTO_INCREMENT = 7 DEFAULT CHARSET = utf8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...