• 세션 사용하기 및 관련함수
  • Zappy (IP: *.188.130.239)
    조회 수: 3909, 2007-11-28 20:07:45(2007-11-28)
  • PHP에서 세션 사용하기

    PHP 세션은 명시적으로 session_start() 함수로 시작되거나, 함축적으로 session_register()를 사용해 세션 변수를 등록함으로써 시작된다. 일반적으로 session_start()는 페이지의 맨 위에서 호출되므로 세션 변수는 스크립트에서 사용될 수 있고, 스크립트에서 세션에 변수를 등록할 수 있다.

    세션을 어떻게 시작하던 간에 아래의 절차가 발생한다.

    ◎ PHP는 유효한 세션ID가 존재하는 지 확인한다.

    ◎ 세션ID가 없으면 PHP는 새로운 ID를 만든다.

    ◎ 유효한 세션 ID가 있으면, 동결되어 있던 세션 변수는 재활성화 되고 global namespace에 다시 전달된다.

    세션변수의 등록은 session_register() 명령을 통해 이뤄진다.

    이는 세션을 통해 저장되고 세션동안 참조될 수 있는 변수를 만들 수 (저장할 수)있도록 허용한다. 이것은 페이지 요청에 따른 저장하고자 하는 모든 변수가 session_register()에 의해 세션 라이브러리에 등록함으로 구현된다. 이때 함수의 매개값은 변수 자체가 아닌 변수 명을 인수로 받는다는 사실을 주의하자.

    사용자가 쇼핑카트로부터 아이템을 삭제하는 등의 경우에는 session_unregister()를 사용하여 세션으로부터 변수를 삭제할 수 있다.

    세션관련 함수

    session_start(); - 해당 파일에서 세션을 초기화한다. 반드시 프로그램의 맨 처음에 와야된다.

    session_register(“변수명”) - 세션에 변수를 등록한다.

                                                   주의할건 변수의 이름만을 매개인자로 받는다.

    session_register(“$a”)같은 형식이 아니라 session_register(“a”)와 같이 기술한다.

    session_unregister(“변수명“) - 세션의 지정된 변수를 삭제한다.

    session_unset(); - 세션내에 모든 변수를 삭제한다.

    session_destroy(); - 세션ID를 삭제한다.

     

    예제

     

    a.php ===============================================

    <?

    session_start();

    session_register("name");

    session_register("passwd");

    $name = '문성기';

    $passwd='암호';

    echo(" name = $name <br>");

    echo(" passwd = $passwd <br>");

    echo("<a href='./b.php'>b.php</a>");

    ?>

    ====================================================

    b.php ===============================================

    <?

    session_start();

    echo(" name = $name <br>");

    echo(" passwd = $passwd <br>");

    session_unset();

    echo(" name = $name <br>");

    echo(" passwd = $passwd <br>");

    echo("<a href='./c.php'>c.php</a>");

    ?>

    ====================================================

    c.php ===============================================

    <?

    session_start();

    echo(" name = $name <br>");

    echo(" passwd = $passwd <br>");

    session_destroy();

    echo("<a href='./a.php'>a.php</a>");

    ?>

    ====================================================

댓글 0

번호 제목 닉네임 조회  등록일 
Zappy 3909 2007-11-28
4 Zappy 9081 2006-01-04
3 Zappy 4106 2006-07-28
2 Zappy 5337 2006-07-28
1 Zappy 9874 2006-05-02
XE Login