首页 > 解决方案 > 无法注册用户,试图在 null 上调用函数 _setnew()

问题描述

在我用 CakePHP 2 编写的项目中,我有一个用于注册用户的表单。填写表格并提交后,我收到一个错误:

>Call to a member function _setnew() on null
>Error: An Internal Error Has Occurred.
>
>Stack Trace
[internal function] → StronaController->registry()
CORE\Cake\Controller\Controller.php line 499 → ReflectionMethod->invokeArgs(StronaController, array)
CORE\Cake\Routing\Dispatcher.php line 193 → Controller->invokeAction(CakeRequest)
CORE\Cake\Routing\Dispatcher.php line 167 → Dispatcher->_invoke(StronaController, CakeRequest)
APP\webroot\index.php line 117 → Dispatcher->dispatch(CakeRequest, CakeResponse)

这是我的表格:


    <form class="mainForm" method="POST" action="">
      <input type="text" name="data[User][email]" placeholder="Login">
      <br>
      <input type="password" name="data[User][password]" placeholder="Passwort">
      <br>
      <input type="submit" value="Registrieren">                        
    </form>

这个注册功能:


    public function registry() {
        $el = array();
        $el['helper']['menu'] = 'registry';
        $el['helper']['title'] = 'Register';
        $el['helper']['meta'] = '<title>Kogni-fit / Registrierung</title>
        <meta name="identifier-url" content="https://xxxxxx.xx/register" />
        <meta name="description" content="">';
    
        if($this->request->is('post')) {
            $data = $this->data;
            $this->User->_setnew($data['User']);
            $this->Session->setFlash('Benutzer hinzugefügt');
            $this->redirect(array('action'=>'login'));
        }
        $this->set('el',$el);
    }

谢谢你的建议。

标签: phpcakephp-2.0

解决方案


尝试打印$data数组。好像没有带键的元素'User'


推荐阅读