是否可以通过表单提交保存数​​据

Is that possible to save data with form submission

控制器代码:

    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();
?>

我无法理解数据是提交给控制器而是从控制器读取数据。 我得到了用控制器保存的数据,但是要访问数据变量,即提交无法读取到控制器的表单数据。

要获取 post 数据,请使用调试

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

看起来您需要所有 CRUD 代码。

因此,您可以在

下面创建您的用户 add.ctp 文件

位置: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

假设,用户是你的数据库table名称。 然后你会得到添加,编辑,删除,查看。 can see this tutorial for see how to give cake bake command