이전 포스팅에서 쿠키에 대해서 설명을 했는데 오늘 포스팅에서는 세션에 대해서 설명하겠습니다.
세션과 쿠키의 차이점
세션과 쿠키와의 차이점은 쿠키는 방문자가 해당 사이트에 접속했을 때 방문자의 컴퓨터에 모든 사용자데 이터를 저장하지만, 세션의 경우는 사용자데이터는 서버에 저장하고 사용자 시스템에는 이 데이터에 접근 할 수 있는 식별자만 저장합니다.
이러한 점에서 세션이 쿠키보다 보안성이 좋다고 할 수 있습니다.
또한 쿠키의 경우에는 서버의 자원을 전혀 사용하지 않지만, 세션의 경우 서버에 저장이 되기 때문에 서버의 자원을 필수적으로 사용하게 됩니다. 그리고 쿠키의 경우 저장 시 쿠키가 만료가 되는 시점을 설정 해줄 수 있습니다.
그럼 이제 세션의 사용방법에 대해서 설명하겠습니다.
세션은 문서가 시작되기 전에 먼저 선언을 해주어야 합니다. 예제를 보면 이해가 빠를 겁니다.
<?php session_start(); ?>
< html>
< body>
< /body>
< /html>
// 이렇게 구문이 시작되기 전에 먼저 <?php session_start(); ?> 이렇게 세션을 시작하겠다라고 선언을 합니다.
두 번째 예제를 더 살펴보겠습니다. 생성하는 방법은 쿠키에 비해 오히려 더 쉬울수 있습니다.
<?php
session_start();
// 세션 데이터 생성
$_SESSION['page_view'] = 1;
?>
<html>
<body>
<?php
// 불러온 세션 데이터 값
echo "PageView = ". $_SESSION['page_view'];
?>
</body>
</html>
// 주석에서 볼 수 있듯이 세션값을 생성하고 세션값을 가져오는 구문입니다. 출력되는 구문은 당연히
PageView = 1 이 출력 되겠죠
그럼 좀더 응용한 세 번째 예제를 살펴보겠습니다.
<?php
session_start();
if(isset($_SESSION['page_view'])) // 세션값이 있으면 + 1을 해주고
$_SESSION['page_view']=$_SESSION['page_view']+1;
else
$_SESSION['page_view']=1; // 세션값이 없으면 page_view의 값은 1
echo "pageView = ". $_SESSION['page_view'];
?>
// 주석을 보면 이해가 빠를 겁니다. 세션 page_view 의 값이 있으면 + 1을 하고 없으면 값이 1이 되는 구문입니다. 위 소스를 테스트 해보면 알겠지만 페이지를 새로고침 해보면 page_view의 값이 계속 증가되는것을 확인할 수 있습니다.
그리고 세션값의 삭제는 "unset" 과 "session_destroy();" 로 합니다.
unset 함수는 지정된 세션값을 삭제할 수 있습니다.
<?php
session_start();
if(isset($_SESSION['page_view']))
unset($_SESSION['page_view']);
?>
session_destory() 함수는 만들어진 모든 세션을 삭제합니다.
<?php
session_destroy();
?>
여러가지 형태로 응용을 하다보면 금방 적응이 될듯합니다.
혹시 오타 또는 오류 발견시 댓글 또는 쪽지 주시면 바로 수정해 놓겠습니다.
다음장에서는 php email 에 대해서 포스팅하겠습니다.
'PHP > PHP Advanced' 카테고리의 다른 글
PHP Error 관련 (0) | 2013.07.01 |
---|---|
PHP Email 구문 (0) | 2013.06.28 |
PHP cookies 구문 (0) | 2013.06.26 |
PHP file upload 구문 (2) | 2013.06.25 |
PHP file 처리 함수 (0) | 2013.06.24 |