Можно ли сохранить данные с помощью отправки формы - PullRequest
0 голосов
/ 17 января 2020

код контроллера:

    public function login()
    {
        $this->LoadModel('Users');

        pr($this->data);
    }

Просмотр кода:

<?php echo
$this->Form->create('Post').
$this->Form->control('email').'<br>'.
$this->form->label('password').'<br>'.
$this->Form->password('password').'<br>'.
$this->Form->submit('log in').
$this->Form->end();
?>

Я не понимаю, что Данные передаются в контроллер, но для чтения данных из контроллера. Я получаю эти данные, сохраненные с контроллером, но для доступа к переменной данных ie отправляю данные формы, которые невозможно прочитать контроллеру.

1 Ответ

0 голосов
/ 20 января 2020

Чтобы получить данные поста, используйте debug

debug($this->request->getData()); 

Похоже, вам нужен весь код CRUD.

Итак, вы можете создать свой пользовательский файл add.ctp ниже

location: templates \ Users \ add.ctp

<?= $this->Form->create($user) ?>

<?php
   echo $this->Form->control('username');
   echo $this->Form->control('email');
   echo $this->Form->control('password');
?>

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

Тогда контроллер пользователя будет выглядеть как

 UsersController/add method look like 

 public function add()
    {
        $user = $this->Users->newEmptyEntity();
        if ($this->request->is('post')) {
            $user = $this->Users->patchEntity($user, $this->request->getData());
            if ($this->Users->save($user)) {
                $this->Flash->success(__('The user has been saved.'));

                return $this->redirect(['action' => 'index']);
            }
            $this->Flash->error(__('The user could not be saved. Please, try again.'));
        }
        $this->set(compact('user'));
    }

Вам нужно больше? Просто нужно дать простую команду в папке вашего приложения для генерации CRUD.

дать команду

bin/cake bake all users

Предположим, пользователи - это имя таблицы вашей базы данных. Тогда вы получите добавить, редактировать, удалять, просматривать. можете посмотреть этот урок, чтобы узнать, как дать команду для выпечки торта

...