IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  오픈 소스  >

PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기, Part 2: 기본 위키 코드 개발하기 (한글)

크리키에 사용자 등록, 엔트리 스토리지, 맞춤 마크업 렌더링 추가하기

developerWorks
Go to the previous page14 페이지 중 3 페이지Go to the next page

문서 옵션

샘플 코드


제안 및 의견
피드백

튜토리얼 평가

이 컨텐츠를 개선하기 위한 도움을 주십시오.


로그인/로그아웃

이제 막 사용자 등록을 끝냈다. 크리키는 비 스크립트로 쓰여진 코드의 첫 부분을 갖게 되었다. 하지만 이건 워밍업일 뿐이다. 사용자가 등록을 할 수 있게 된 건 잘 된 일이나 사용자 자신의 계정을 사용할 수 있어야 한다. 이는 로그인과 로그아웃으로 시작된다. 이 절에서는 로그인 뷰와 함께 로그인과 로그아웃 동작을 만들 것이다.

로그인 뷰

로그인 뷰는 복잡하지 않다. 이메일 주소와 비밀번호만 있으면 된다. 요구사항이 단순하므로 로그인 뷰는 Listing 4처럼 보인다.


Listing 4. 로그인 뷰
                    
<?php echo $html->formTag('/users/login') ?>
<p>Please log in.</p>

<label>Email Address:</label>
<?php echo $html->inputTag('User/email') ?>

<label>Password:</label>
<?php echo $html->passwordTag('User/password') ?>

<?php echo $html->submitTag('login') ?>

<?php echo $html->tagErrorMsg('User/email', $login_error) ?>

</form>

이 양식은 매우 간단하다. 이제 이에 따르는 로그인 동작이 필요하다.




위로


로그인 동작

로그인에서는 사용자 비밀번호를 확인하고 이것이 유효하면 사용자 데이터를 세션에 저장한다. 로그인 동작은 Listing 5처럼 보인다.


Listing 5. 로그인 동작
                    
function login() {
  $this->set('login_error', );
  if ($this->data) {
    $results = $this->User->findByEmail($this->data['User']['email']);
    if ($results && $results['User']['password'] == md5($this->data['User']['password']))
 {
      $this->Session->write('User', $results['User']);
      $results['User']['login'] = date("Y-m-d H:i:s");
      $this->User->save($results);
      $this->redirect('/');
    } else {
      $this->User->invalidate('email');
      $this->User->invalidate('password');
      $this->set('login_error', 'invalid login');
    }
  }
}

이 동작은 또한 현재 시간, 날짜와 함께 로그인 필드를 업데이트한다. 이것이 해야 하는 전부다.




위로


로그아웃 동작

로그아웃 동작은 더 간단하다. 세션에서 사용자 정보를 지워 다른 곳으로 보내버리기만 하면 된다. 이 동작은 Listing 6처럼 보인다.


Listing 6. 로그아웃 동작
                    
function logout() {
  $this->Session->delete('User');
  $this->redirect('/');
}

대체로 정보는 루트 디렉터리로 보낸다는 것에 주목하자. 이제 그 페이지는 기본 CakePHP 설치 화면처럼 보인다. 더 나은 크리키 시작 페이지로 만들기 위해 이 페이지를 나중에 편집할 것이다.




위로



Go to the previous page14 페이지 중 3 페이지Go to the next page
    IBM 소개 개인정보 보호정책 문의