만들면서 배우는 CodeIgniter Q&A

제목 로그인이 필요한 게시판을 만들고있는 학생입니다.
글쓴이 LIA 작성시각 2017/04/02 20:31:58
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 12111   RSS

안녕하세요. 현재 로그인이 가능한 게시판을 만드려고 하는데요.

책을 보면서 사용 DB나 변수명만 다르게 해서 만들어보고있습니다.

그런데 만드는도중, 로그인페이지를 만드는데 로그인시에 해당 path에 파일이 있는데

An Error Was Encountered 버그가 뜨네요. 우선 컨트롤러에 있는 member_login.php (책의 auth.php 대체) 코드의 로그인폼이

 

class Member_login extends CI_Controller {
 
    function __construct() {
        parent::__construct();
        $this -> load -> model('member_login_m');
        $this -> load -> helper('form');
    }
 
    public function index() {
        $this -> login();
    }
 
    public function _remap($method) {
        $this -> load -> view('header_v');
 
        if (method_exists($this, $method)) {
            $this -> {"{$method}"}();
        }
 
        $this -> load -> view('footer_v');
    }
 
    /**
     * 로그인 처리
     */
    public function login() {
        $this -> load -> library('form_validation');
 
        $this -> load -> helper('alert');
 
        $this -> form_validation -> set_rules('member_id', '아이디', 'required|alpha_numeric');
        $this -> form_validation -> set_rules('member_pw', '비밀번호', 'required');
 
        
        if ($this -> form_validation -> run() == TRUE) {
        	
            $member_login_data = array(
                'username' => $this -> input -> post('member_id', TRUE),
                'password' => $this -> input -> post('member_pw', TRUE)
            );
            
            $result = $this -> member_login_m -> login($member_login_data);
            
            if ($result) {
                $newdata = array(
                    'member_id' => $result -> member_id,                    
                    'logged_in' => TRUE
                );
                
                $this -> session -> set_userdata($newdata);
                
                alert('로그인 되었습니다.', '/test/index.php/board/lists/board/page/1');
                exit;
            } else {
                alert('아이디나 비밀번호를 확인해 주세요.', '/test/index.php/board/lists/board/page/1');
                exit;
            }
        } else {        	
            $this -> load -> view('test/index.php/member_login/login_v');
        }
    }

 

보시다시피 username등의 이름을 member_id 등으로 변경하였습니다.

인덱스 죽이기를 안해서 인덱스를 지정해주었고, view 폴더위에 member_login 폴더만들었고 그 안에 login_v.php 파일이 있습니다.

지금 로그인 클릭시 뿌려주는 부분이   $this -> load -> view('test/index.php/member_login/login_v'); 부분인데

분명 경로상에 login_v.php 파일이 있음에도 안나오네요..

 

어떻게해야될까요..?

 다음글 php5.6 에서 소스업로드하고, 환경설정하고 접속하니... (2)
 이전글 3쇄 184쪽 form_validation_lang.p...

댓글

변종원(웅파) / 2017/04/02 21:32:24 / 추천 0

책 소스 보시면 뷰 부분 호출주소 체계가 다른 걸 느끼실 겁니다.

매뉴얼에서 뷰 부분 보셔도 되구요. 현재와 같은 호출이면 당연히 그 파일을 찾을 수 없다고 에러가 납니다. ^^

http://cikorea.net/user_guide_2.1.0/general/views.html

 

책에서는 설명을 드리긴 하지만 매뉴얼을 모두 다루진 않습니다. 그래서 책 보시면서 매뉴얼도 같이 보시는게 

도움이 됩니다.

LIA / 2017/04/02 22:04:17 / 추천 1

아! 답변 감사합니다.

제가 여태 뷰에대해 착각을 하고 있었네요.

링크해주신 가이드가 큰 도움이 되었습니다.

test/index.php/member_login/login_v로 설정하는것이 아니라

해당 뷰의 폴더와 파일인 memeber_login/login_v만 지정해주면되는것이었네요!