Вызов функции-члена run() для воспламенителя необъектного кода

Я пытаюсь создать форму регистрации пользователя, используя воспламенитель кода 2.1.0. Я использовал следующий код в regitration.php в контроллерах для добавления пользователей.

class Registration extends CI_Controller
{

    function __construct() {
        parent::__construct();
    }


    function index()
    {
        $data['main_content'] = 'registration';

        // Checks to see if form validation rules were met an executed properly.  If not, will return with registration form.
        if ($this->form_validation->run('registration') === FALSE) 
        {
            $data ['title'] = 'Registration';
            $this->load->view('include/template', $data);
        }

        // If validation passes, information will be passed along to the MODEL to be processed and the account will be created.
        else 
        {
            $this->load->model('registration_model');
            $this->registration_model->addUser();

            $this->session->set_flashdata('success', 'Your account has been successfully created');
            redirect(uri_string());
        }
    }
}

Но это показало мне ошибку Call to a member function run() on a non-object, Как мне это исправить?

1 ответ

Решение

Пожалуйста, укажите

// load 'form' helper
    $this->load->helper('form');

    // load 'validation' class
    $this->load->library('form_validation');

и попробуй сейчас

function __construct() {



    // load controller parent
   parent::__construct();   

    // load 'url' helper
    $this->load->helper('url');

    // load 'form' helper
    $this->load->helper('form');

// load 'session' 
 $this->load->library('session');
    // load 'validation' class
    $this->load->library('form_validation');

  }

Кажется, класс $ session не инициализируется правильно.

  1. Проверьте таблицу default_ci_sessions, если вы используете сеансы для базы данных.
  2. Проверьте, загружает ли конструктор библиотеку сессий.
  3. Проверьте, находится ли сессия в конфигурации autoload.php

За это "In order to use the Session class you are required to set an encryption key in your config file.", добавьте это в ваш config.php

$config['encryption_key'] = 'your_encryption_key_here';
Другие вопросы по тегам