2013-05-01 2 views
0

Codeigniter에서 Session을 설정하려고합니다. 사람이 이메일 아이디와 비밀번호로 로그인하려고 할 때.CodeIgniter 세션 오류 설정

1) 이메일 ID를 사용하여 사용자의 역할을 찾습니다. 그 결과를 세션에 반환하고 해당 링크로 리디렉션합니다. 내가 아래에 입력 한 코드. 이 문제를 해결해 주시겠습니까?

컨트롤러

public function login_validation() { 
     $this -> load -> library('form_validation'); 
     $this -> form_validation -> set_rules('email', 'Email', 'required|trim'); 
     $this -> form_validation -> set_rules('password', 'Password', 'required '); 

     if ($this -> form_validation -> run()) { 

      $this -> load -> model('model_database'); 
      $sessiondata['var_userrole'] = $this -> model_database -> login_session(); 

      $this -> session -> set_userdata($sessiondata); 
      if ($var_userrole == admin) { 

       redirect('welcome/admin'); 

      } else if ($var_userrole == staff) { 

       redirect('welcome/staff'); 

      } else if ($var_userrole == student) { 

       redirect('welcome/student'); 

      } else { 

       redirect('welcome/login'); 

      } 

모델

public function login_session() { 
    $email = $this -> input -> post('email'); 
    $login_id = $this -> db -> query("SELECT var_userrole FROM tbl_login where var_email = '" . $email . "'"); 
    return $login_id -> row_array(); 
} 
+0

무엇이 문제입니까 ?? – bipen

+0

정확히 무슨 문제입니까?! – goseo

+0

@bipen and Distinct : 저는 CodeIgniter의 초보자입니다. 사용자 안내서를 본 후에 세션을 설정하는 것이 혼란 스럽습니다. 오류는 없지만 작동하지 않습니다! 컨트롤러 세션 코드에서 내가 한 일을 알고 싶습니까? 정말 고맙습니다. 코드가 올바르지 않으면 친절하게 올바르게 표시하십시오. –

답변

0

모든 $의 var_userrole의 첫 번째는 당신이 확인되는 어디서나 정의되지 않은 하이 경우 문

컨트롤러

public function login_validation() { 
     $this -> load -> library('form_validation'); 
     $this -> form_validation -> set_rules('email', 'Email', 'required|trim'); 
     $this -> form_validation -> set_rules('password', 'Password', 'required '); 

     if ($this -> form_validation -> run()) { 

      $this -> load -> model('model_database'); 
      $var_userrole = $this -> model_database -> login_session();// was undefined 
      $sessiondata['var_userrole'] = $var_userrole 

      $this -> session -> set_userdata($sessiondata); 
      if ($var_userrole == admin) { 

       redirect('welcome/admin'); 

      } else if ($var_userrole == staff) { 

       redirect('welcome/staff'); 

      } else if ($var_userrole == student) { 

       redirect('welcome/student'); 

      } else { 

       redirect('welcome/login'); 

      } 

당신이 ion_auth하면 사용자가 옴하고 확인할 수 있습니다 그룹이 같은 CI에 일부 인증 시스템을 점검 그 전에 인증을위한 새로운 무언가를 개발하는 경우 한 그룹에서의 Ion auth 속해 잘

public function login_session() { 
    $email = $this -> input -> post('email'); 
    $login_id = $this -> db -> query("SELECT var_userrole FROM tbl_login where var_email = '" . $email . "'"); 
     //$row = $login_id -> row() // as object return $row->var_userrole; 
     $row = $login_id -> row_array(); 
    return $row['var_userrole'] 
} 

모델