본문 바로가기
PHP/PHP Advanced

PHP Sessions 구문

by 진격의 파파 2013. 6. 27.
반응형

 

 

이전 포스팅에서 쿠키에 대해서 설명을 했는데 오늘 포스팅에서는 세션에 대해서 설명하겠습니다.

 

세션과 쿠키의 차이점

세션과 쿠키와의 차이점은 쿠키는 방문자가 해당 사이트에 접속했을 때 방문자의 컴퓨터에 모든 사용자데 이터를 저장하지만, 세션의 경우는 사용자데이터는 서버에 저장하고 사용자 시스템에는 이 데이터에 접근 할 수 있는 식별자만 저장합니다.

이러한 점에서 세션이 쿠키보다 보안성이 좋다고 할 수 있습니다.

또한 쿠키의 경우에는 서버의 자원을 전혀 사용하지 않지만, 세션의 경우 서버에 저장이 되기 때문에 서버의 자원을 필수적으로 사용하게 됩니다. 그리고 쿠키의 경우 저장 시 쿠키가 만료가 되는 시점을 설정 해줄 수 있습니다.

그럼 이제 세션의 사용방법에 대해서 설명하겠습니다.

 

 

세션은 문서가 시작되기 전에 먼저 선언을 해주어야 합니다. 예제를 보면 이해가 빠를 겁니다.

<?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