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 "저장된 이름이 존재하지 않습니다.";
}
?>

 

  1. step2.php를 먼저 실행하면 '저장된 이름이 존재하지 않습니다.'가 표시됩니다..
  2. step1.php를 실행하시면 저장할 이름이 설정됩니다.
  3. step1.php를 실행 후, step2.php를 실행하면 저장된 이름이 표시됩니다.

 

반응형