-
[PHP] 세션 기본 (SESSION)프로그래밍/PHP 2018. 1. 25. 12:07
▶PHP 세션 기본 (SESSION)
▶설명
세션(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를 실행하면 저장된 이름이 표시됩니다.
'프로그래밍 > PHP' 카테고리의 다른 글
[PHP] 문자열 큰 따옴표(")와 작은 따옴표(')의 차이 (0) 2019.01.14 [PHP] 형식화한 문자열 출력 또는 반환 (printf / sprintf 함수) (0) 2019.01.14 [PHP] 문자 인코딩 변환하기 (iconv 함수) (0) 2017.12.23 [PHP] 랜덤 숫자 생성 (rand 함수) (0) 2017.12.20 [PHP] 문자열 부분 가져오기 (substr, mb_substr) (0) 2017.12.18