주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
꽃배달 한국, 중국 전지역배송

PHP 입문 - 쿠키와 세션

네로 | 2003.02.24 03:51:53 댓글: 0 조회: 499 추천: 7
분류웹 프로그래밍 https://life.moyiza.kr/itstudy/1758934
▶ PHP 입문 - 쿠키와 세션

실제 프로그램을 작성하기에 앞서 알아둬야할 기본적인 문법들입니다.


홈페이지에 접속하면 그 순간에 필요한 파일만 전송받아 화면상에 출력되게 됩니다.
한마디로 "지속적인 연결이 이루어지지 않는다"입니다. 때문에 어떤 특정한 값을 계속
가지고 있으려면 쿠키나 세션 등을 이용하게 되는데 이는 사용자의 컴퓨터나, 서버측
기억장치에 저장되는 정보를 말합니다.

이는 여러 곳에 활용될 수 있는데 주로 카운터나 게시판, 회원 로그인 등에 쓰입니다.
카운터에서는 그날의 날짜를 쿠키로 굽고 카운터를 1 증가시킨 후 다음부터 접속할
경우 먼저 구워진 값을 비교해 다른 날짜면 카운터 증가, 아니면 그냥 출력하는
식으로 이용합니다. 게시판 등에서는 주로 사용자의 이름, 이메일 주소, 홈페이지
주소 등을 기록했을때 이를 다음번에 자동으로 입력된 상태로 표현되게 할 때
쓰입니다. 회원 로그인 등에선 회원이 로그인을 할 경우 일정 정보가 로그아웃 하기
전까지 기억되어 있어 언제 어디서든 이를 자유롭게 사용할 수 있게 되는 것입니다.


▷ 쿠키 (cookie)

쿠키의 간단한 쓰임새에 대해 예제를 통해 알아보겠습니다.


예제 : http://dreamphp.com/study/exam17-1.php

소스는 다음과 같습니다.

<?
setcookie("test_name","홍길동",time()+3600);
?>

실행하면 화면상에는 아무런 값도 출력되지 않습니다. ^^;
먼저 test_name이란 쿠키명에 홍길동이란 값을 넣고, 이 값을 1시간 유지시키겠단
명령입니다. time()은 표준유닉스 타임이라고 1970년 1월 1일부터 지금까지 지난
시간을 초로 나타낸 수를 반환해줍니다. 위에서 time() 함수에 의해 현재의 표준
유닉스타임을 반환받고 여기에 60초(1분) x 60 = 3600(1시간)을 더한 것입니다.


예제 : http://dreamphp.com/study/exam17-2.php

소스는 다음과 같습니다.

<?
echo "쿠키값1 : ".$test_name."<br>n";
echo "쿠키값2 : ".$HTTP_COOKIE_VARS[test_name];
?>

실행하면 다음과 같은 값이 출력됩니다.

쿠키값1 : 홍길동
쿠키값2 : 홍길동

1시간이 지나 다시 페이지를 열어보면 아무런 값도 출력되지 않겠죠?

참고로 setcookie 함수를 가장 먼저 사용해야 합니다. 공백이나 HTML 태그 등 어떠한
값이라도 먼저 출력된다면 쿠키는 구워지지 않습니다.

쿠키 제거는 아무런 값 없이 쿠키를 구우면 됩니다.

setcookie("test_name",""); // 이런 식으로 말이죠.


▷ 세션 (session)

PHP 4 버전에서 추가된 기능입니다. 쿠키의 경우 사용자의 컴퓨터에 정보가 저장되는
반면, 세션의 경우는 서버측에 정보가 저장됩니다. 간단한 형태만을 알아볼까요?


예제 : http://dreamphp.com/study/exam17-3.php

소스는 다음과 같습니다.

<?
session_start();
$test_name2 = "임걱정";
session_register("test_name2");
?>

먼저 session_start() 함수로 세션을 시작합니다. 그 다음 $test_name2 라는 변수에
임걱정이란 이름을 지정하고, session_register() 함수를 이용해 이 값을 등록합니다.
이 경우 $는 붙이지 않습니다. 이 예제를 실행하면 아무런 값도 출력되지 않습니다.
등록된 값을 출력하는 프로그램을 만들어볼까요?


예제 : http://dreamphp.com/study/exam17-4.php

소스는 다음과 같습니다.

<?
session_start();
echo $test_name2;
?>


세션을 사용하기 위해 처음에 session_start() 함수를 사용했으며 그 다음 이미
저장되어 있던 값을 출력했습니다. 임걱정이란 이름이 뜨겠죠? 쿠키에서
$HTTP_COOKIE_VARS[]를 이용한 것 처럼 세션에서도 $HTTP_SESSION_VARS[]를 이용해
값을 출력할 수 있습니다. 이번에는 이 값을 제거해보겠습니다.


예제 : http://dreamphp.com/study/exam17-5.php

소스는 다음과 같습니다.

<?
session_start();
session_unregister("test_name2");
?>

이 예제를 실행하고 exam17-4.php를 실행하면 아무런 값도 출력되지 않는 것을
확인할 수 있을 것입니다.


▶ 간단한 형태를 알아보았습니다. 처음 부분에 기술했듯 쿠키와 세션을 적절히
활용하면 편리한 환경을 만들 수 있습니다. 그럼 다음 시간에 계속~.

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:07)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >> 웹 프로그래밍
* 이동후 위치 : 웹 공부 >>

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:12)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >>
* 이동후 위치 : 웹 공부 >> 웹 프로그래밍
추천 (7) 선물 (0명)
IP: ♡.27.♡.234
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
11940
관리자
2003-09-20
11488
관리자
2003-09-20
20622
지구인
2010-08-27
19413
지구인
2009-09-07
13735
SOLIDH
2010-01-29
15693
엔죠라이프
2004-10-07
16786
네로
2003-02-24
394
네로
2003-02-24
515
네로
2003-02-24
411
네로
2003-02-24
489
네로
2003-02-24
466
네로
2003-02-24
787
네로
2003-02-24
991
네로
2003-02-24
499
네로
2003-02-24
483
네로
2003-02-24
510
네로
2003-02-24
693
네로
2003-02-24
617
네로
2003-02-24
433
네로
2003-02-24
371
네로
2003-02-24
363
네로
2003-02-24
516
네로
2003-02-24
428
네로
2003-02-24
386
네로
2003-02-24
434
네로
2003-02-24
486
네로
2003-02-24
465
모이자 모바일