2013-02-19 6 views
0

Я новичок в Codeigniter и пытаюсь создать страницу входа из учебника codeigniter login. Теперь, когда я попытался войти в систему после ввода моего имени пользователя и пароля, я получаю следующую ошибку.Codeigniter form_validation library error

PHP-ошибка была обнаружена

Серьезность: Обратите внимание

сообщение: Не определено свойство: Verifylogin :: $ form_validation

Имя файла: Контроллеры/verifylogin.php

Номер строки: 18

РЕДАКТИРОВАНИЕ:

мой verifylogin.php файл

<?php 

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
class Verifylogin extends CI_Controller 
{ 
    function __construct() { 
     parent::__construct(); 
    } 

    function index() 
    { 
     $this->load->helper(array('form', 'url')); 
     $this->load->model('user'); 
     $this->load->library('form_validation'); 

     //$this->load->library('form_validation', 'form_validation', true/false); 

     $this->form_validation->set_rules('username','Username','trim|required|xss_clean'); 
     $this->form_validation->set_rules('password','Password','trim|required|xss_clean|callback_check_database'); 

     if($this->form_validation->run() == FALSE) 
     { 
      redirect('login','refresh'); 
     } 
     else 
     { 
      redirect('home','refresh'); 
     } 
    } 

    function check_database($password) 
    { 
     $username = $this->input->post('username'); 
     $this->load->model('user'); 
     $result = $this->user->login($username,$password); 

     if($result) 
     { 
      $sess_array = array(); 
      foreach($result as $row) 
      { 
       $sess_array = array('id'=>$row->id,'username'=>$row->username); 

       $this->session->set_userdata('logged_in',$sess_array); 
      } 
      return TRUE; 
     } 
     else { 
      $this->form_validation->set_message('check_database','Invalid username or password'); 
     } 
    } 
} 
?> 

Кроме того, где этот form_validation.php файл находится.

+0

в системе/библиотеки вы можете получить 'form_validation.php' – rohitarora

+0

@rohitarora увидеть код блока комментария. –

+1

@Nitish: скопируйте и вставьте весь код в контроллер из класса –

ответ

-1

вы должны вызвать форму вспомогательной функции, прежде чем использовать форму проверки

$this->load->helper(array('form', 'url'));

использовать это, прежде чем назвать библиотеку валидации форм

+0

Я положил эту строку до строки 18, но получаю ту же ошибку. – Nitish

+0

положил его перед моделью $ this-> load-> ('user'); ' – rohitarora

+0

не работает. такая же ошибка! – Nitish

0

Пожалуйста переместите весь этот код из индекса функции() к constructor,

$this->load->helper(array('form', 'url')); 
$this->load->model('user'); 
$this->load->library('form_validation'); 

Поскольку вы используете библиотеку form_validation в функции check_database() als о.

Теперь он должен работать. :)

+0

На этот раз я получаю ошибку, например, «Деление на нуль» за указанную вами линию. – Nitish

+0

, пожалуйста, сообщите об ошибке, и вы дали истину или ложь? –

+0

Я положил библиотеку '$ this-> load-> ('form_validation', 'form_validation', true/false);'.Ошибка я получаю, как ' PHP-ошибка была обнаружена Серьезность: Предупреждение Сообщение: Деление на ноль Имя файла: контроллеры/verifylogin.php Номер Line: 19 ' NB: Строка номер 19 является вы упомянули. – Nitish

0

Можете ли вы поместить свой login.php и home.php в свой вопрос?

я думаю, вы должны использовать этот

$this->load->view('login'); 

несмотря на это

redirect('login','refresh'); 
Смежные вопросы