2012-02-29 4 views
0

Я пытаюсь сделать страницу входа в систему с сеансом, но столкнулся с проблемой.Вызов функции-члена - Codeigniter

Сначала я создал модель под названием giris. модель GİRİŞ имеет функцию girisKontrol

function girisKontrol($username, $password) { 
     $sha1_password = sha1($password); 
     $query = "SELECT id FROM pasaj_register WHERE username = '".$username."' and password = '".$sha1_password."'"; 

     $result = $this->db->query($query, array($username, $sha1_password)); 

     if ($result->num_rows() == 1) 
      return $result->row(0)->id; 
     else 
      return false; 
    } 

и в контроллере называется GİRİŞ

написал ниже код,

public function main_page() { 


     $username = $this->input->post('username'); 
     $password = $this->input->post('password'); 

     $userID = $this->giris->girisKontrol($username,$password); 

     if (!$userID) { 

      $this->session->set_flashdata('login error', TRUE); 

      redirect('giris/giris'); 
     } else { 
      $this->session->set_userdata(array(
       'logged_in' => TRUE, 
       'userID' => $userID)); 



      redirect('welcome_message'); 
     } 
    } 

однако, когда форма обрабатывается. я беру ниже ошибки,

enter image description here

В чем причина?

+0

Ну, что такое строка # 19 в 'controller/giris'? –

+0

Загружена ли модель? –

ответ

0

Возможно, вы не загрузили модель giris.

Поместите что-то подобное внутри конструктора контроллера или в верхней части вызова функции контроллера для загрузки модели.

$this->load->model('giris'); 
+0

i addeed $ this-> load-> model ('giris/giris'); для конструктора для определения местоположения моей модели, но он также дает ошибку: Неустранимая ошибка: не удается переопределить класс giris в C: \ xampp \ htdocs \ pasaj \ application \ models \ giris \ giris.php в строке 21, а строка 21 - это $ userID = $ this-> giris-> girisKontrol ($ имя пользователя, пароль $); –

+0

@ MertMETİN было бы лучше, если бы вы могли обновить вопрос с помощью нового кода. Кроме того, вы загрузили модель где-то еще? Ошибка говорит о том, что уже существует определенное свойство с именем 'giris' внутри объекта. Однако это может быть что-то другое, кроме модели. –

0

Вы, наверное, забыли, чтобы загрузить модель:

Invoke

$this->load->model('giris'); 

до

$userID = $this->giris->girisKontrol($username,$password); 
+0

i addeed $ this-> load-> model ('giris/giris'); для конструктора для определения местоположения моей модели, но он также дает ошибку: Неустранимая ошибка: не удается переопределить класс giris в C: \ xampp \ htdocs \ pasaj \ application \ models \ giris \ giris.php в строке 21, а строка 21 - это $ userID = $ this-> giris-> girisKontrol ($ имя пользователя, пароль $); –

+0

Вы следили за Code Igniter conions и назовите свой класс Giris_model? Похоже, у вас несколько классов с именем «Giris», и теперь они конфликтуют. – Phil

+1

проблема в том, что ваш класс и ваша модель имеют одно и то же имя ... измените свой класс на что-то вроде girisVO ... – Gerep

0

проблема заключается в том, что ваш класс и ваша модель имеет такое же имя. .. замените свой класс на что-то вроде girisVO, отчитайте

Смежные вопросы