Download presentation
Presentation is loading. Please wait.
1
8장 쿠키와 세션 한빛미디어(주)
2
학습 목표 쿠키의 개념에 대하여 이해한다 쿠키를 생성하고 삭제하는 방법을 익힌다
세션 개념을 이해하고 쿠기와의 차이점을 이해한다 세션의 초기화, 생성, 삭제하는 방법을 익힌다. 등록된 세션 변수의 사용법을 익힌다
3
주요 학습 내용 01. 쿠키 02. 세션
4
쿠키란? 01 로그인한 다음 사이트의 어떠한 페이지로 이동하여도 로그인 상태가 유지
쿠키 : 클라이언트 사용자가 웹 서버에 접속하여 로그인 하였을 때 클라이언트 컴퓨터에 저장되는 데이터 사이트의 어떠한 페이지에서도 로그인된 상태와 로그인된 아이디 등을 이용 가능 만약 쿠기라는 개념이 없다면 로그인 시 로그인 상태와 로그인 아이디를 DB에 써 넣어야 함
5
쿠키 생성 02 setcookie() 함수 bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] ) 함수의 인자 설명 name 쿠기의 이름 value 쿠키의 값 expire 쿠키가 유효한 시간 path '/home/' 이라고 설정하면 ‘/home/' 디렉토리와 서브 디렉토리에서 쿠키를 사용 가능. domain 쿠키를 이용할 수 있는 도메인을 의미 secure TRUE 로 설정하면 접속에서만 쿠키가 설정
6
【예제 8-1】cookie1.php 02 쿠키 생성 예 01 <?
02 $cookie_r1 = setcookie("userid", "hkd", time()+8); 03 $cookie_r2 = setcookie("username", "홍길동", time()+8); 04 05 if ( $cookie_r1 and $cookie_r2) 06 echo "쿠키 생성이 완료 되었습니다(단, 생성된 쿠키는 8초간 지속됩니다)."; 07 ?>
7
【예제 8-2】cookie2.php 02 생성된 쿠키 사용 예 01 <?
02 echo "생성된 'userid' 쿠키 : ".$_COOKIE[userid]."<br>"; 03 echo "생성된 'username' 쿠키 : ".$_COOKIE[username]."<br>"; 04 ?>
8
【예제 8-3】cookie3.php 02 쿠키 삭제 예 01 <?
02 setcookie("userid"); // userid 쿠키 삭제 03 setcookie("username"); // username 쿠기 삭제 04 05 06 echo "생성된 'userid' 쿠키 : ".$_COOKIE[userid]."<br>"; 07 echo "생성된 'username' 쿠키 : ".$_COOKIE[username]."<br>"; 08 ?>
9
세션이란? 02 쿠기가 로그인 정보를 클라이언트 컴퓨터에 저장하는데 반하여 세션에서는 보안상 로그인 정보를 서버에 저장
PHP 4에서 추가 되었는데 웹 사이트에 연속적으로 접속할 때 이전의 접속 정보를 이용할 수 있는 방법을 제공 서버에서 세션 아이디(Session id)라고 부르는 유일한 아이디를 부여하여 서버의 특정 디렉토리에 저장 세션 아이디는 또한 클라이언트 컴퓨터에 저장되거나 URL를 통하여 클라이언트를 통하여 전달
10
【예제 8-4】session1.php 02 session_start( ) 함수 <? session_start();
bool session_start( ) <? session_start(); echo '세션이 시작되었습니다.<br><br>'; $_SESSION['color'] = 'blue'; $_SESSION['animal'] = 'dog'; $_SESSION['time'] = time(); echo "<a href='session2.php'>session2.php로 이동</a>"; ?>
11
【예제 8-5】session2.php 02 등록된 세션 사용 예 <? session_start();
echo '세션이 시작되었습니다.<br><br>'; echo $_SESSION['color'].'<br>'; echo $_SESSION['animal'].'<br>'; echo date('Y-m-d(H:i:s)', $_SESSION['time']); ?>
12
【예제 8-6】session3.php 02 세션 등록의 세가지 방법 <?
// session_register()는 PHP 4와 PHP 5에서 사용 $var1 = "조관우"; session_register("var1"); // PHP 버전 이후에는 일반적으로 $_SESSION 이 더 많이 사용 $_SESSION["var2"] = "동방신기"; // PHP 이전 버전에서는 $HTTP_SESSION_VARS 를 사용 $HTTP_SESSION_VARS["var3"] = "조용필"; echo "<a href='session4.php'> session4.php로 이동 </a>"; ?>
13
【예제 8-7】session4.php 02 등록된 세션 출력 예 <? session_start();
echo '세션이 시작되었습니다.<br><br>'; echo $_SESSION['var1'].'<br>'; echo $_SESSION['var2'].'<br>'; echo $_SESSION['var3'].'<br>'; echo '<br>'; echo $var1.'<br>'; echo $var2.'<br>'; echo $var3.'<br>'; ?>
14
【예제 8-8】session5.php 02 세션 삭제 <? session_start();
unset($var1); // unset($_SESSION[var1]), session_unregister('var1') unset($var2); // unset($_SESSION[var2]), session_unregister('var2') unset($var3); // unset($_SESSION[var3]), session_unregister('var3') if ($var1 and $var2 and $var3) { echo $var1.'<br>'; echo $var2.'<br>'; echo $var3.'<br>'; } else echo "세션 변수가 모두 삭제 되었습니다."; ?>
Similar presentations