제목 | [검토부탁] 간단한 로그인 MVC | ||
---|---|---|---|
글쓴이 | 배강민 | 작성시각 | 2010/04/06 17:10:16 |
|
|||
수고들 많으십니다.. <?php /* |--------------------------------------------------------------- | member.php |--------------------------------------------------------------- | | * 회원 관련 콘트롤 | * Date : 2010.04 | * Author : BaeKangMin | * functions : login (form), _loginOk (session write), logout (session destroy), | */ class Member extends Controller { function Member() { parent::Controller(); //html 캐쉬 생성 //$this->output->cache(5); //5분단위... //모델 호출 (기본) $this->load->model('member_model'); //url, form helper $this->load->helper(array('url', 'form')); //form validation, session $this->load->library(array('form_validation', 'session')); //rtnUrl if(!@$this->uri->segment(3)) { $this->rtnUrl = ''; } else { $this->rtnUrl = rawurldecode(base64_decode(@$this->uri->segment(3))); } } function login() { //로그인한 상태면 if( $this->session->userdata('user_id') != NULL ) { redirect(''); //로그인하지 않은 상태면 } else { $this->_loginOk(); } } //private function _loginOk() { //rules $this->form_validation->set_rules('loginId', '아이디', 'trim|required|xss_clean|alpha_numeric'); $this->form_validation->set_rules('loginPass', '비밀번호', 'trim|required|xss_clean'); //request $reqLoginId = $this->input->post('loginId'); $reqLoginPass = $this->input->post('loginPass'); //폼검증 성공이면 if ($this->form_validation->run() == TRUE) { $loginRst = $this->member_model->loginOK($reqLoginId, $reqLoginPass); if($loginRst == TRUE) { redirect($this->rtnUrl); } else { $data['errorMsg'] = "아이디/비밀번호를 다시 확인하시기 바랍니다."; $this->layout->view('member_login_view', $data); } //폼검증 실패거나 기본.. } else { $this->layout->view('member_login_view'); } } function logout() { //session destroy $this->session->sess_destroy(); redirect($this->rtnUrl); } function index() { redirect('member/login'); } } /* End of file member.php */ /* Location: ./system/application/controllers/member.php */Model 입니다. (member_model.php) <?php /* |--------------------------------------------------------------- | member_model.php |--------------------------------------------------------------- | | * 회원 관련 모델 | * Date : 2010.04 | * Author : BaeKangMin | */ class Member_model extends Model { function Member_model() { parent::Model(); //DB 수동 연결 $this->oracleMobile3 = $this->load->database('oracleMobile3', TRUE); } function loginOk($id, $pwd) { $this->oracleMobile3->trans_start(); $qry = " SELECT user_id, user_name FROM ksky_user WHERE user_id = ? AND user_pwd = ? "; $rst = $this->oracleMobile3->query($qry, array($id, $pwd)); $this->oracleMobile3->trans_complete(); //$data = $rst->result(); $data = $rst->row(); //한줄이면 되니까... $this->oracleMobile3->close(); if( isset($data->USER_ID) ) { //session write $this->session->set_userdata(array('user_id' => $data->USER_ID, 'user_name' => $data->USER_NAME)); return TRUE; } return FALSE; } } /* End of file member_model.php */ /* Location: ./system/application/models/member_model.php */View입니다. (member_login_view.php) <?php //폼검증 에러 표출 if(validation_errors() !== "") { ?> <script language="JavaScript" type="text/javascript"> //<!-- alert("<?=str_replace("\n", "\\n", strip_tags(validation_errors()))?>"); //--> </script> <? } //로그인 실패 에러 if(isset($errorMsg) && $errorMsg !== "") { ?> <script language="JavaScript" type="text/javascript"> //<!-- alert("<?=$errorMsg?>"); //--> </script> <? } ?> <?php $attributes_loginForm = array('class' => 'loginForm', 'id' => 'loginForm'); ?> <script language="JavaScript" type="text/javascript"> //<!-- $(document).ready(function() { $("#loginForm :input:visible:enabled:first").focus(); //입력 가능한 첫 input에.. //$("#loginId").focus(); // fixed }); //--> </script> <?php echo form_open('member/login', $attributes_loginForm); ?> <ul> <fieldset> <li> <input type = "text" name = "loginId" value = "<?php echo set_value('loginId'); ?>" id = "loginId" maxlength = "20" size = "50" /> </li> <li> <input type = "password" name = "loginPass" value = "" id = "loginPass" maxlength = "20" size = "50" /> </li> </fieldset> <li> <input type = "image" name = "loginSubmit" src = "<?=ROOT?>/images/btn/login.gif" /> </li> </ul> </form>바쁘시겠지만.. 시간 되시는 분들 계시면 한번 검토 후 조언 부탁드려봅니다. 허접해서 쑥스럽네요...ㅋ 감사합니다. 수고하십시오. |
|||
다음글 | null, 공백 체크 방법? (2) | ||
이전글 | [초보]모바일 이그나이터 (4) | ||
변종원(웅파)
/
2010/04/06 17:27:21 /
추천
0
네. 잘 만드셨네요. ^^
|
헛발이
/
2010/04/06 17:31:11 /
추천
0
직접 만들어도 되지만.. 저 같은 경우는 tank_auth라이브러리를 사용 하고 있습니다.
다운로드는 http://www.konyukhov.com/soft/tank_auth/ 여기서 가능하고요.. 다운 받은 후에 application에 덮어치기 하면 사용가능하고요... 저 같은 경우는 여기 소스를 보면서 ci를 시작하게 되었답니다... 참고 하세요~ |
엥?무새
/
2015/06/25 04:52:36 /
추천
0
5년전 거라 걱정이 좀 되지만.. 참고해서 로그인 기능 만들었어요. 감사합니다~
|