PHP 세션 기본 (SESSION)
2023. 7. 11. 21:32ㆍ카테고리 없음
반응형
설명
세션(SESSION)에 대해서 간단히 설명하겠습니다.
페이지를 이동해도 유지되어야 하는 정보가 필요할 때가 있습니다.
이 때 사용하는 것이 세션(SESSION)과 쿠키(COOKIE)입니다.
두 개의 차이점은 아래와 같습니다.
세션(SESSION)은 서버에 파일로 정보를 저장하고,
쿠키(COOKIE)는 사용자 컴퓨터(클라이언트)에 파일로 정보를 저장합니다.
그러면 서버에 파일로 저장된 세션(SESSION)은 각 사용자를 어떻게 구분할까요?
그건 세션(SESSION)은 쿠키(COOKIE)에 사용자의 세션 ID(session_id)를 저장하고 있기 때문에 사용자를 구분할 수 있습니다.
이제 간단한 예제로 세션 사용법을 알아보도록 하겠습니다.
▶예제
폴더 생성
- config
- session
config/session.php
<?php
// 쿠키 동작 문제 해결.
header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');
// 세션 파일을 저장할 경로 설정. 설정하지 않으면 php.ini에 기본 경로에 저장.
ini_set('session.save_path',$_SERVER['DOCUMENT_ROOT']."/session");
// 세션 ID를 저장한 쿠키의 유효 시간 설정. 설정하지 않거나 0으로 설정하면 브라우저가 종료되면 쿠키는 파기. (초 단위)
ini_set('session.cookie_lifetime', 0) ;
// 사용되지 않는 세션 파기 유효 시간 설정. (초단위)
ini_set('session.gc_maxlifetime', 1440);
// 서버에 저장된 세션 ID 활성화 시간. (분단위)
ini_set('session.cache_expire', 180);
// 세션 시작
session_start();
?>
step1.php
<?php
include("config/session.php");
$name = "Edward";
echo "세션 ID : ".session_id();
echo "<br/>";
echo "저장할 이름 : ".$name;
// 세션에 저장
$_SESSION['name'] = $name;
?>
step2.php
<?php
include("config/session.php");
echo "세션 ID : ".session_id();
echo "<br/>";
if(isset($_SESSION['name']))
{
echo "저장된 이름 : ".$_SESSION['name'];
}
else
{
echo "저장된 이름이 존재하지 않습니다.";
}
?>
- step2.php를 먼저 실행하면 '저장된 이름이 존재하지 않습니다.'가 표시됩니다..
- step1.php를 실행하시면 저장할 이름이 설정됩니다.
- step1.php를 실행 후, step2.php를 실행하면 저장된 이름이 표시됩니다.
반응형