본문 바로가기
Development/PHP

세션이란?

by wansdream 2006. 1. 15.
◆ 세션이란 무엇인가?

혹자 는 세션이란 소리를 들었을때 세션 맨 은 들어봤다고 했당.
세션맨은 가수가 노래부를때 연주해 주는 사람들이다. 그러나 PHP 의 세션은 그것이 아님다. 저번에 간단한 쿠키의 예를 보셨죵 ? 쿠쿠쿠

세션도 역시 상태 유지(로그인유지) 를 위해 필요한 것임다.


◆ 샌님 근디 왜 세션을 써야 하나용 ?
아직도 감이 안올수도 있슴다. 왜 써야 할까요? 저번에도 말했듯이 이놈이 이놈인지 저놈이 저놈인지 구별하기 위해서 사용함다. 세션은 쿠키의 발전된 개념으로 서버에 저장이 됨다. 물론 사용자 하드에도 저장이 되나 서버에 저장되어 있는 값이 우선임다.

쿠키 보다는 약간 보안이 좋아졌다고 하네용 ^^

◆ 어케 쓰는가 ?
세션을 사용할려면 반드시 session_start() 를 먼저 써주어야 함다. 이유 여하 불문 하고 맨먼저 session_start() 를 사용하면 세션을 쓰겟다 이소리 임다.^^


◆세션 값을 봐볼까나 ?

se1.php
session_start();
$my_session="마이홈 쩜 ,네이버 쩜 컴 ,수호이";
session_register("my_session");
print "세션등록완료";
?>
-------------------------------------------
se2.php
session_start();
print "저장된 세션값은 :$my_session 이다 ";
?>

se1.php 와 se2.php 는 세션을 이해 하기 쉬운 예제 임다.
우선 브라우져 에서 se2.php 를 실행 해 보세요. 그러면 당연히 아무것도 안찍히죵 ^^
세션값을 정해 주지 않았으니까요 ^^

세션값을 정해 주는 놈이 session_register() 임다. 세션_등록()이죵 ^^ 쿠쿠

$my_session="마이홈 쩜,네이버 쩜 컴 ,수호이"; 나 마찬가지죵. 그러나 변수와는 달리 어디서나 불러도 값을 불 를 수 있슴다. ^^


◆ 좀 더 예가 필요하당.
온라인 폴 시스템을 예를 들어 보자. 한번 투표 할 경우 다음에는 투표를 하지 못해야 한다. 새로고침 을 열나 눌러서 올라가게 만들면 안되는 것이다. 온라인 폴의 중복 체크는 아주 간단하다.

poll.php

session_start();
if(!$c)
{
$c="vote";
session_register("c");
echo "투표하러가세";

}else{
echo " 당신은 투표 했는디...날 바보로 아남? ";
}
?>

poll.php 를 실행 해보세용 ^^
처음에 했을때와 2번째 했을때 를 비교 하세요^^


◆ 제약사항
PHP3.0 에서는 되지 않슴다. 반드시 4.0 설치 하세요 ^^;;
3.0은 php라이브러리 인가 가 있어야 함다.


◆ 실수 체크
세션을 등록 할때 $ 는 들어가지 않는다. 반드시 주의 하길 바람다. ^^

$c="vote";
session_register("$c");

가 아니라
$c="vote";
session_register("c");
이며

그다음에 $c 로 값을 읽어 옴다 ^^

댓글