CI 코드

제목 회원로그인 처리 (simplelogin 0.1)
글쓴이 ci세상 작성시각 2009/07/23 17:03:31
댓글 : 0 추천 : 0 스크랩 : 0 조회수 : 26104   RSS

회원로그인(디비연동), 로그아웃 구현

http://codeigniter.com/wiki/Simplelogin/


<설치방법>

1. 다운로드 : http://codeigniter.com/wiki/File:simplelogin_0.1.zip/
=> 다운이 안되면 첨부에서 다운로드 가능합니다.

2. 파일복사
Simplelogin.php 파일 : system > libraries 에 복사

example.php, example_obsession_version.php 는 예제소스

3. 스키마 / 데이터 추가 (아이디 / 패스 : test / 1234)
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(64) NOT NULL,
  `password` varchar(64) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

INSERT INTO `users` (`id`, `username`, `password`) VALUES
(1, 'test', '81dc9bdb52d04dc20036dbd8313ed055');

4. controllers 사용 (파일명 : login.sample.php)

<?php
class Login_sample extends Controller {

	function Login_sample()
	{
		parent::Controller();
		$this->output->set_header('Content-Type: text/html; charset=UTF-8');

		// simplelogin 라이브러리 로드
		$this->load->library(array('simplelogin', 'session', 'validation'));
		$this->load->database();
		$this->load->helper(array('form', 'url'));
	}

	function index()
	{
		if ($this->session->userdata('logged_in'))
		{
			// 로그아웃
			echo '로그아웃해주세요';
			echo '<hr />';
			echo anchor('login_sample/logout', '로그아웃');
		}
		else
		{
			// 로그인
			echo '로그인해주세요';
			echo '<hr />';
			echo anchor('login_sample/login', '로그인');
		}
	}

	function login()
	{
		// 폼체크
		$rules['username'] = "trim|required";
		$rules['password'] = "trim|required";
		$this->validation->set_rules($rules);

		// 폼이름
		$fields['username'] = '아이디';
		$fields['password'] = '패스워드';
		$this->validation->set_fields($fields);

		// 자동테이블 없으면
		if ($this->validation->run() == FALSE)
		{
			$this->load->view('simple_login');
		}
		else
		{
			// 모델호출
			$result = $this->simplelogin->login($this->input->post('username'),
			$this->input->post('password'));

			// 쿼리결과
			if ($result == TRUE)
			{
				redirect('login_sample/', 'refresh');
			}
			else
			{
				echo '실패하였습니다.';
				echo '<hr />';
				echo anchor('login_sample/login', '로그인');
			}
		}
	}

	function logout()
	{
		// 로그아웃
		$this->simplelogin->logout();
		echo '로그아웃해주세요>>';
		echo '<hr />';
		echo anchor('login_sample/', '로그아웃');
	}

}
?>
5. views 파일 (simple_login.php)


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>로그인샘플</title>
</head>
<body>

<?php if ($this->validation->error_string):?>
<?=$this->validation->error_string; ?>
<?php endif;?>
<p>회원로그인</p>
<?=form_open('login_sample/login')?>
<dl>
<dt>아이디</dt>
<dd><?=$this->validation->username_error?><input type="text" name="username" value="<?=$this->validation->username?>" /></dd>
<dt>패스워드</dt>
<dd><?=$this->validation->password_error?><input type="text" name="password" value="<?=$this->validation->password?>" /></dd>
</dl>
<input type="submit" value="로그인" />
<?=form_close()?>

</body>
</html>




첨부파일 simplelogin_0[1].1_.zip (7.2 KB)
 다음글 OpenID 설치 및 응용 (1)
 이전글 ajax 설치 및 사용 (4)

댓글

없음