CakePHP Вызов функции-члена error () в null - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь решить проблему cakePHP.Версия cakePHP - 2.10.10, и я не хочу обновлять проект, потому что я не хочу перерабатывать весь код.Я не создаю приложение, и я новичок в cakePHP, поэтому я только пытаюсь исправить ошибку.

Я также добавляю нового пользователя, чтобы убедиться, что пароль правильный.Когда я пытаюсь войти, я получаю это сообщение об ошибке.

Вызов функции-члена error () в null

Call to a member function error() on null
Error: An Internal Error Has Occurred.

Stack Trace
[internal function] → UsersController->manager_login()
CORE/Cake/Controller/Controller.php line 491 → ReflectionMethod->invokeArgs(UsersController, array)
CORE/Cake/Routing/Dispatcher.php line 193 → Controller->invokeAction(CakeRequest)
CORE/Cake/Routing/Dispatcher.php line 167 → Dispatcher->_invoke(UsersController, CakeRequest)
APP/webroot/index.php line 117 → Dispatcher->dispatch(CakeRequest, CakeResponse)

AppController.php

    <?php


App::uses('Controller', 'Controller');


class AppController extends Controller {

  public $components = array(
      //'Flash',
      'Session',
      'Auth' => array(
        'authorize' => array('Controller'),
        'authenticate' => array(
            'Form' => array(
              'passwordHasher' => array(
                'className' => 'Simple',
                'hashType' => 'sha256'
              )
            )
        ),
        'loginRedirect' => array('controller' => 'projekte', 'action'=> 'index', 'manager' => true),
        'logoutRedirect' => array('controller' => 'users', 'action' => 'logout')
      ));

  function beforeFilter() {
    if (isset($this->params['prefix']) && $this->params['prefix'] == 'manager') {
      $this->layout = 'admin';
    }
  }

  function isAuthorized($user) {
    return true;
  }
}

UserController.php

<?php
class UsersController extends AppController {

    var $name = 'Users';


    function beforeFilter() {

        parent::beforeFilter();
        $this->layout = 'admin';
        $this->Auth->allow('login', 'logout', 'add');
    }

    function index() {
        $this->redirect(array('controller' => 'users', 'action' => 'login'));
    }


    function login() {
      $this->redirect(array('controller' => 'users', 'action' => 'login', 'manager' => true));
    }

    function manager_login() {
      if ($this->request->is('post')) {
        if ($this->Auth->login()) {
          return $this->redirect($this->Auth->redirectUrl());
        } else {
          $this->Flash->error('Ungültige Zugangsdaten');
        }
      }
    }

    function logout() {
        $this->Auth->logout();
        $this->redirect(array('controller'=>'pages', 'action'=>'display', 'home', 'manager'=>false));
    }


    public function add() {
      if ($this->request->is('post')) {
        $this->User->create();
        if ($this->User->save($this->request->data)) {
          $this->Flash->success(__('The user has been saved'));
          return $this->redirect(array('action' => 'index'));
        }
        $this->Flash->error(
          __('The user could not be saved. Please, try again.')
        );
      }
    }
}
?>
...