레이블이 php 간단 일기장 - 로그인인 게시물을 표시합니다. 모든 게시물 표시
레이블이 php 간단 일기장 - 로그인인 게시물을 표시합니다. 모든 게시물 표시

2015년 1월 8일 목요일

php 간단 일기장 - 로그인 상태 체크

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 간단 일기장 - 로그인 상태 체크


이 상태대로라면 주소만 알고 있으면 로그인 필요없이 아무나 들어올 수 있게 된다.
따라서 각 페이지마다 로그인되어 있는지 체크하고 로그인되어있지 않으면 로그인페이지로 이동하는 것이 필요하다.


로그인 처리시에
logincomplete 라는 쿠키값이 true 일 경우 로그인인 것으로 처리했다.
따라서 logincomplete 라는 값이 있고 그 값이 true인지 살펴본다.
맞다면 그냥 절차를 진행하고, 맞지 않다면 로그인 페이지로 이동한다.


코드
<?php

$islogined = false;
if (isset($_COOKIE['logincomplete']))
{
    if ($_COOKIE['logincomplete'] == 'true')
    {
        $islogined = true;
    }
}

if ($islogined == false)
{
    header("Location: loginform.php");
}

?>
 
chklogin.php 로 저장한다.
  

php 간단 일기장 - 로그인 페이지 include

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 간단 일기장 - 로그인 페이지 include

chklogin.php 가 작동되는 것을 확인했다고 해서 모든 페이지에 Copy & Paste 하는 것은 비효율적이다.
또한 만약 로그인 조건이 바뀔 경우 모든 파일을 다 변경해야 하는 문제가 생긴다,

따라서 include 를 사용해서 같은 코드를 공유한다.
  • diarylist.php
  • diarywrite.php
  • writesubmit.php
  • diaryedit.php
  • editsubmit.php
  • deletesubmit.php
파일들을 열고, 각 파일의 1라인에

코드
<?php
include('chklogin.php');
?>

라는 내용을 추가한다.

이렇게 되면 각 페이지의 논리가 실행되기 전에 로그인이 먼저 체크된다.

2015년 1월 1일 목요일

php 간단 일기장 - 로그인 기능 정의

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 간단 일기장 - 로그인 기능 정의

회원가입이 요구사항에 없고 개인적으로만 사용할 것이므로 회원관리 기능은 넣지 않는다

따라서 아이디는 필요없고 간단한 비밀번호만 고정문자열로 넣어서 로그인할 수 있게 한다.

비밀번호는 주소창에 노출되면 안되므로 post 방식으로 입력되게 한다

php 간단 일기장 - 로그인 폼 만들기

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 간단 일기장 - 로그인 폼 만들기

우선 클라이언트(웹브라우저) 에 보여질 폼을 만든다.

<!DOCTYPE html>

<html>
  <head>
  </head>
  <body>
    <form action="loginsubmit.php" target="_self"  method="post">
        <input type="password" name="pw" />
        <input type="submit" value="로그인" />
    </form>
  </body>
</html>
 
 
 
간단하게 비밀번호를 입력받고, 폼에 있는 값을 loginsubmit.php 로 넘기는 코드이다.
 
 

php 간단 일기장 - 실제 로그인 페이지 처리

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 간단 일기장 - 실제 로그인 페이지 처리

로그인을 처리하기 위한 절차

1 폼으로 입력된 값을 받는다.
2 입력된 값이 내가 설정한 값과 동일한지 비교한다.
3 동일하다면 쿠키에 [로그인되었다] 라는 마킹을 한다.
4 목록 페이지로 보낸다.
5 입력된 값이 내가 설정한 값과 다르다면 다시 로그인 페이지로 보낸다.


php 코드

<?php
$pw = $_POST['pw'];

// valid
if ($pw == 'php111')
{
    setcookie('logincomplete', 'true', time() + (60 * 60 * 24 /* second * minute * hour*/));
    header("Location: diarylist.php");
}
else // invalid
{
    header("Location: loginform.php");
}
?> 
 
loginsubmit.php 로 저장한다.