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

Я пытаюсь создать форму регистрации пользователя, используя воспламенитель кода 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 Ответ

3 голосов
/ 07 марта 2012

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

// 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';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...