2012-11-08 5 views
0

codeigniter가있는 관리 섹션을 설정하는 데 어려움이 있습니다.codeigniter admin 패널 파일 구조

방금 ​​컨트롤러 폴더에 fam_Admin이라는 새 폴더를 추가했습니다.

그래서 구조는 다음과 같다 :
---> fam_admin

-controllers
----> - login.php 나는 다음과 같은 코드를 추가 routes.php에

: $route['fam_admin'] = "fam_admin/login";

<?php 
class Login extends CI_Controller { 
    public function index() { 
    //$login['main_content'] = '/fam_admin/login'; 
    //$this -> load -> view('fam_admin/includes/template', $login); 
    $this -> load -> view('fam_admin/login'); 
    } 
    public function validate_login() { 
    $username = $this -> input -> post('username'); 
    $password = $this -> input -> post('password'); 
    $this -> load -> library('form_validation'); 
    $this -> form_validation -> set_rules('username', 'username', 'trim|required'); 
    $this -> form_validation -> set_rules('password', 'password', 'trim|required|callback_credential_check'); 
    if ($this -> form_validation -> run() == FALSE) { 
     $this -> load -> view('fam_admin/login'); 
    } 
    } 
    public function credential_check() { 
    //Field validation succeeded.&nbsp; Validate against database 
    $username = $this -> input -> post('username'); 
    $password = $this -> input -> post('password'); 
    $this -> load -> model('fam_admin/admin'); 
    //query the database 
    $query = $this -> admin -> check_login($username, $password); 
    if (!$query) { 
     $this -> form_validation -> set_message('login_check', 'Invalid username or password'); 
     return false; 
     $this -> index(); 
    } else { 
     $data = array(
     'username' => $this -> input -> post('username'), 
     'is_logged_in' => true 
    ); 
     $this -> session -> set_userdata($data); 
     //redirect('fam_admin/main_section'); 
     redirect('site/logged_in'); 
    } 
    } 
} 
?> 

위는 코드입니다 login.php하지만 로그인 자격 증명의 유효성을 검사하는 경우는 GIV Google 크롬에서 오류가 발생했습니다. 잘못된 자격 증명을 입력하여 시도해 볼 수 있으며 오류가 발생하고 동일한 로그인 양식을로드해야합니다.

http://www.famtripsandinspectionvisits.com/index.php/fam_admin/login/validate_login을 검색하는 중 웹 사이트에 오류가 발생했습니다. 유지 관리가 잘못되었거나 잘못 구성되었을 수 있습니다. - 나머지 코드가 실행되지 않습니다 - 그래서 index 메소드를 호출하고이되지 않습니다

if (! $query) { 
    // ... 
    return false; 
    $this -> index(); 
} 

당신이 한 번 return 뭔가, 그게입니다 : 한 가지를 들어

+0

당신이'fam_admin/main_section.php'에서 "main_section"라는 컨트롤러가 있습니까? 나는 당신의 코드에서 "main_section"이 아무것도로드하지 않아야 함을 나타내는 어떤 것도 보지 못했다. 심지어 리디렉션에 댓글을 달았습니다. 정확한 세부 정보를 제공 하시겠습니까? 또한 오류보고 및 display_errors를 켰습니까? –

+0

지금 코드를 편집했습니다. 나는 뭔가를 시험해보고 있었기 때문에 게시 된 코드에 오류가있었습니다. – Sahil

+0

php.ini 파일에 오류보고가 있습니까? – Sahil

답변

1

,이 문제입니다 전혀 출력이 없습니다.

...하지만 데이터 유효성 검사 만하는 기능으로보기를로드해서는 안됩니다.

내가 조금이에 컨트롤러를 단순화하려고 일을 재 배열 :

class Login extends CI_Controller { 

    public function index() 
    { 
     $this->load->library('form_validation'); 
     $this->form_validation->set_rules('username', 'username', 'trim|required'); 
     $this->form_validation->set_rules('password', 'password', 'trim|required'); 
     if ($this->form_validation->run()) 
     { 
      $this->load->model('fam_admin/admin'); 
      $username = $this->input->post('username'); 
      $password = $this->input->post('password'); 
      $query = $this->admin->check_login($username, $password); 
      if ($query) 
      { 
       $data = array(
        'username' => $this->input->post('username'), 
        'is_logged_in' => true 
       ); 
       $this->session->set_userdata($data); 
       redirect('site/logged_in'); 
      } 
      else 
      { 
       $this->form_validation->set_message('login_check', 'Invalid username or password'); 
      } 
     } 
     $this->load->view('fam_admin/login'); 
    } 

} 
+0

이 작동하지 않으면 오류가 발생하고 오류는 내 모델의 MD5 기능과 함께 발생했습니다. 위의 코드는 y 코드를 정리하고 나중에 도움이 될 것입니다. – Sahil

+0

그래도 그 오류가 없다면 다른 오류가 있었을 것입니다. 네, 전에는 명확하지 않으 셨으니 유감스럽게 생각합니다. 개발 중에 다음 설정을 원합니다 :'error_reporting (E_ALL); ini_set ('display_errors', 'On'); 라이브로 갈 때'display_errors'를 끄고 오류보고를 로깅에 적합한 수준으로 낮 춥니 다. –