Ошибка PHP была связана с серьезностью: 8192 Я получаю ошибку

Методы с тем же именем, что и их класс, не будут конструкторами в будущих версиях PHP, <? php if ( ! defined ( 'BASEPATH' )) exit ( «Разрешен прямой доступ к скрипту» ); имеет устаревшую конструкторскую строгость: 8192

Я получаю ошибку в строке 3-й и 26-й строки на странице ** ** Index для этого контроллера. * * Карты на следующий URL * http://example.com/index.php/welcome * - или - * http://example.com/index.php/welcome/index * - или - * Поскольку этот контроллер установленным в качестве контроллера по умолчанию в * config / routes.php, он отображается по адресу http://example.com/ * * Таким образом, любые другие общедоступные методы, не имеющие префикса с подчеркиванием, будут отображаться в /index.php/welcome/ <имя_пользователя> * @see http://codeigniter.com/user_guide/general/urls.html * / public function index () { $ this -> load -> view ( 'login' ); } function login () { $ data [ "title" ] = "CodeIgniter Simple Login Form with session" ; $ this -> load -> view ( "login" , data ); } function login_validation () { $ this -> load -> library ( 'form_validation' ); $ this -> form_validation -> set_rules ( 'username' , 'Kullanycy Ady' , 'required' ); $ this -> form_validation -> set_rules ( 'password' , 'password' , 'required' ); if ( $ this -> form_validation -> run ()) { $ username = $ this -> input -> post ( 'username' ); $ password = $ this -> input -> post ( 'password' ); $ this -> load -> model ( 'login_model' ); if ( $ this -> login_model -> can_login ( $ username , $ password )) { $ session_data = array ( 'username' => $ username ); $ this -> session -> set_userdata ( $ session_data ); redirect ( base_url ( «login / enter» )); } else { $ this -> session -> flash_data ( 'error' , 'Invalid Username and Password' ); redirect ( base_url ( «login» )); } } else { $ this -> login (); } function enter () { if ( $ this -> session -> userdata ( 'username' ) ! = '' ) { redirect ( base_url ( "dashboard" )); } else { redirect ( base_url ( "login" )); } } } php-файл 26-я строка ошибка: undefined свойство: login :: $ load Я получаю ошибку

МОЙ КОД

url

class login расширяет CI_Controller {

autoload.php

}?>

javascript,php,codeigniter,

-3

Ответов: 2


0

Надеюсь, что это поможет вам :

Примечание . Имя контроллера должно начинаться только с заглавной буквы

Сначала загрузите помощника:$autoload['helper'] = array('url');

В Login

class Login extends CI_Controller 
{
  public function __construct()
  {
    parent::__construct();
    $this->load->helper('url');
   }
}  

Или загрузите ваш Loginконтроллер следующим образом:

login()

Для получения дополнительной информации: https://www.codeigniter.com/user_guide/helpers/url_helper.html


0

Вы не должны называть функцию класса такой же, как класс. У вас есть функция, loginи класс называется, loginкоторый запускает предупреждение в строке 3. Когда PHP видит имена классов и функций, которые соответствуют ему, считается, что функция является конструктором для класса. Но это не то, что вы хотите, и причина, по которой вы получаете ошибку в строке 26.

Кажется, нет никаких причин для конструктора в вашем классе. (Если вам действительно не нужно загружать помощника или другую библиотеку)

Чтобы устранить проблему, удалите index()функцию, а затем переименуйте login()ее index(). Наконец, используйте верхний регистр L в имени класса. Так что измените это

class login extends CI_Controller {

к этому

class Login extends CI_Controller {

Имя файла также должно иметь прописную букву, т.е. Login.php

JavaScript, PHP, CodeIgniter,
Похожие вопросы