ABOUT ME

-

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


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



    댓글

Designed by Tistory.