Download presentation
Presentation is loading. Please wait.
1
08장 쿠키와 세션
3
쿠키와 세션의 개념 파악 쿠키와 세션의 차이점 쿠키와 세션의 생성 쿠키와 세션의 사용법 쿠키와 세션의 삭제
4
쿠키 세션
5
1.1 쿠키의 개요 [그림 8-1] 쿠키의 개념과 관련 정보의 처리 장소
6
예제 8-1 setcooke()함수를 이용한 쿠키 생성
cookie1.php 01 <? 02 $a=setcookie("userid", "kdhong"); 03 $b=setcookie("username","홍길동", time()+60); 04 05 if($a and $b) 06 { echo "쿠키 'userid'와 'username' 생성 완료!<br>"; echo "쿠키 'username'은 60초(1분)간 지속됨!"; 09 } 10 ?>
7
1.3 쿠키 사용 방법 register_globals가 On인 경우
cookie2.php 01 <? 02 echo "쿠키 'userid' : $userid <br>"; 03 echo "쿠키 'username' : $username <br>"; 04 ?>
8
1.3 쿠키 사용 방법 register_globals가 Off인 경우 예제 8-3 register_globals=Off인 경우
cookie3.php 01 <? 02 $userid = $_COOKIE[userid]; 03 $username = $_COOKIE[username]; 04 05 echo "쿠키 'userid' : $userid <br>"; 06 echo "쿠키 'username' : $username <br>"; 07 ?> [참고] 하나의 웹 페이지나 해당 함수에만 영향을 주는 지역 변수와 달리 전역 변수는 모든 웹 페이지에 영향을 준다.
9
예제 8-4 쿠키 삭제 delete_cookie.php 01 <?
02 $a = setcookie("userid", ""); 03 $b = setcookie("username", ""); 04 05 if($a and $b) 06 { echo "쿠키 'userid'와 'username' 삭제 완료!"; 08 } 09 ?>
10
setcookie() 함수 형식 bool setcooke (string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]]) - 함수의 인자: [표 8-1]을 참고한다. 기능 HTTP 헤더에 보낼 쿠키를 정의 한다. 반환값 - 성공/실패: TRUE/FALSE 설명 setcookie() 함수는 <html>이나 <head> 태그 이전에 사용해야 한다. 만약 다른 태그를 먼저 사용하면 쿠키를 생성할 수 없다.
11
setcookie() 함수 [표 8-1] setcookie() 함수의 인자 함수의 인자 설명 name
쿠키의 이름으로, 대소문자를 구분 value 쿠키값으로, 이 값이 사용자 컴퓨터에 저장 expire 쿠키가 유효한 시간을 초 단위로 나타냄 ex) time() + 60*60*24*30 -> 30일 간 쿠키 값 유지 path 쿠키를 이용할 수 있는 경로를 의미 /로 설정하면 전체 도메인 /home/이라고 설정하면 [home] 디렉터리와 하위 디렉터리에서 쿠키를 사용할 수 있다. domain 쿠키를 이용할 수 있는 도메인을 의미한다. 만약 example.com으로 설정했다면 example.com의 모든 하위 도메인에서 쿠키를 사용할 수 있다. secure 기본값은 FALSE이고, TRUE로 설정하면 사이트에 접속할 때만 쿠키가 설정된다.
12
time() 함수 형식 int time (void) - 인자: void(인자 없음) 기능 현재 시간을 알려준다. 반환값
- 성공: 현재 시각 설명 유닉스 시스템에서 사용하는 기준(1970년 1월 1일 00:00:00 GMT)으로 현재 시각을 초 단위로 계산한 값을 정수형으로 반환한다.
13
2.1 세션의 개요 [그림 8-7] 세션의 개념과 관련 정보의 처리 장소
14
예제 8-5 세션의 활성화와 등록 session1.php 01 <? 02 session_start(); 03
04 echo "세션 시작!!!<p>"; 05 06 $_SESSION['userid'] = "kdhong"; 07 $_SESSION['username'] = "홍길동"; 08 $_SESSION['time'] = time(); // time()은 현재 시간 09 10 echo "3개의 세션 변수 등록 완료!!!<br>"; 11 echo $_SESSION['userid']."<br>"; 12 echo $_SESSION['username']."<br>"; 13 echo $_SESSION['time']."<br>"; 14 ?>
15
예제 8-6 register_globals=On인 경우에 세션 사용
session2.php 01 <? 02 session_start(); 03 04 $time = date('Y-m-d(H:i:s)', $time); 05 ?> 06 <html> 07 <head> 08 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 09 </head> 10 <body> 11 <h3>▶ 등록된 세션의 사용</h3> 12 <table width="400" border="1"> 13 <tr><td>아이디</td><td>이름</td><td>현재시간</td></tr> 14 <tr> 15 <td><?=$userid ?></td> 16 <td><?=$username ?></td> 17 <td><?=$time ?></td> 18 </tr> 19 </table>
16
예제 8-6 register_globals=On인 경우에 세션 사용
session2.php 20 </body> 21 </html>
17
예제 8-8 세션 삭제 delete_session.php 01 <? 02 session_start(); 03
04 unset($_SESSION['userid']); 05 unset($_SESSION['username']); 06 unset($_SESSION['time']); 07 ?> 08 <html> 09 <head> 10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 11 </head> 12 <body> 13 <h3>▶ 세션의 삭제</h3> 14 <table width="400" border="1"> 15 <tr><td>아이디</td><td>이름</td><td>현재시간</td></tr> 16 <tr> 17 <td><?=$_SESSION['userid'] ?> </td> 18 <td><?=$_SESSION['username'] ?> </td> 19 <td><?=$_SESSION['time'] ?> </td> 20 </tr>
18
예제 8-8 세션 삭제 delete_session.php 21 </table> 22 </body>
23 </html>
19
session_start() 함수 unset() 함수 형식 bool session_start()
- 인자: void(인자 없음) 기능 세션을 생성하고, 현재의 세션 ID를 활성화 시킨다. 반환값 - 항상 TRUE unset() 함수 형식 void unset(mixed $var, …) - 인자: 삭제할 변수 기능 인자로 사용된 변수들의 값을 삭제한다. 반환값 - 없음
Similar presentations