세션이란?

세션(session)이란 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법을 의미.

사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션이라고 한다.

쿠키는 클라이언트 측에 저장이 되지만, 세션은 데이터가 서버측에 저장이 되고 세션의 키값만 클라이언트 측에서 저장을 한다.

브라우저는 클라이언트 측의 키 값을 이용하여 서버측에 저장되어 있는 데이터를 이용한다.

세션 시작

session_start();

session_start() 함수는 세션 아이디가 이미 존재하는지를 확인하고, 존재하지 않으면 새로운 아이디를 만든다.

만약 이미 존재하는 세션 아이디가 있을 때는 원래 있던 세션 변수를 다시 불러와서 사용할 수 있도록 한다.

세션 아이디는 웹 서버에 의해 무작위로 만들어진 숫자이다.

이 세션 아이디는 세션이 유지되는 동안 클라이언트 측에 저장되며, 세션 변수를 등록하는 키로 사용된다.

웹 서버에서는 클라이언트로부터 받아온 세션 아이디를 가지고, 해당 아이디에 대응되는 세션 변수에 접근할 수 있다.

세션 변수 등록

$_SESSION["city"] = "부산"; // 세션 변수의 등록 $_SESSION["gu"] = "해운대구"; echo "세션 변수가 등록되었습니다!";

션이 생성되고 나면 세션 변수를 수퍼 글로벌인 $_SESSION 배열에 등록할 수 있다.

이때 세션 변수의 이름이 키값이 되며, 이 내용은 서버 측에 저장된다.

$_SESSION["키값(클라이언트 측 저장)"] = "내용(서버 측 저장)";

등록된 세션 변수는 등록을 해지하지 않는 한 세션이 끝날 때까지 유지된다.

세션 변수에 접근하기

생성된 세션 변수는 $_SESSION["세션변수이름"]으로 접근할 수 있다.

echo "제가 살고 있는 도시는 {$_SESSION['city']}입니다.<br>"; echo "그 중에서도 {$_SESSION['gu']}에 살고 있습니다.<br>"; print_r($_SESSION); // 모든 세션 변수의 정보를 연관 배열 형태로 보여줌.

세션 변수 등록 해제

unset() 함수를 사용하면, 특정 이름의 세션 변수만을 해지할 수 있다.

현재 등록된 모든 세션 변수를 해지하고자 할 때에는 session_unset() 함수를 사용하면 된다.

또한, 세션을 자체를 완전히 종료하려면 session_destroy() 함수를 사용하여 세션 아이디를 삭제하면 된다.

// 특정 세션 변수의 등록 해지 /* if(!isset($_SESSION["city"])) { echo "{$_SESSION['city']} 세션 변수가 삭제되었습니다."; unset($_SESSION["city"]); } else { echo "해당 세션 변수가 등록되어 있지 않습니다."; } */ session_unset(); // 모든 세션 변수의 등록 해지 session_destroy(); // 세션 아이디의 삭제 echo "모든 세션 변수가 등록 해지되었으며, 세션 아이디도 삭제되었습니다.";


'PHP' 카테고리의 다른 글

windows10 환경 APM설치 및 오류 수정  (0) 2019.09.12
php MySQL다루기  (0) 2019.09.12
php 쿠키  (0) 2019.09.12
php form검증  (0) 2019.09.12
php 와 html form(html과의 교류)  (0) 2019.09.12

+ Recent posts