У меня маленькая проблема. Я новичок, и я придерживаюсь этого. У меня есть форма для регистрации пользователя. Но после принятия кнопки «Отправить» у меня появляется ошибка:
Вызов функции-члена _setnew () при нулевой ошибке: произошла внутренняя ошибка.
Трассировка стека [внутренняя функция] → StronaController-> registry () CORE \ Cake \ Controller \ Controller. php строка 499 → ReflectionMethod-> invokeArgs (StronaController, массив) CORE \ Cake \ Routing \ Dispatcher. php строка 193 → Контроллер-> invokeAction (CakeRequest) CORE \ Cake \ Routing \ Dispatcher. php строка 167 → Dispatcher -> _ invoke (StronaController, CakeRequest) APP \ webroot \ index. php строка 117 → Dispatcher-> рассылка (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'] = 'Registrierung';
$el['helper']['meta'] = '<title>Kogni-fit / Registrierung</title>
<meta name="identifier-url" content="https://kogni-fit.at/registrierung" />
<meta name="description" content="Kogni-Fit">';
if($this->request->is('post')) {
$data = $this->data;
//TUTAJ POWINNA BYĆ WALIDACJA!
$this->User->_setnew($data['User']);
//$this->vd($data);
// Przekierowanie z komentarzem
$this->Session->setFlash('Benutzer hinzugefügt');
$this->redirect(array('action'=>'logowanie'));
}
$this->set('el',$el);
}
class CmsController extends AppController {
public function beforeFilter() {
parent::beforeFilter();
$this->layout = 'cms';
//$this->Auth->allow();
$this->Auth->allow('blog');
$check_user = $this->Auth->user();
if($check_user['role'] != 'admin') {
$this->redirect(array('action'=>'index', 'controller'=>'strona'));
}
}
}
class User extends AppModel {
public function _setnew($user) {
//$this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
$user['password'] = AuthComponent::password($user['password']); //hashuje hasło przed zapisem do bazy
$this->save($user);
}
}
Буду благодарен за помощь