웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
쿠키(cookie)의 활용
2000.03.06 22:35
쿠키가 몬지 아시죠? (먹는 거라구 말하믄 미버할겁니다... ㅡ.ㅡ;)
쿠키는 아시다시피 넷스케이프사에서 만든 웹서버와 클라이언트간의 인증법이라고 생각하시면 됩니다.
(쩝... 저는 용어 설명에 댑따 서툽니당... 이해해주시길..)
보통 로그인 같은 방법을 사용할때 쿠키를 사용합니다.
즉, 사용자가 ID랑 암호를 입력하면 서버에서는 그 정보가 맞는지를 판단, 맞는다면 사용자의 컴퓨터에 쿠키를 이용해서 임시로 자료를 저장하는겁니다.
그 자료를 이용해서 지금 서버에 접속해 있는 사용자가 로그인을 정식으로 한 사용자인지 판단할수가 있죠.
그럼 실질적으로 사용하는 방법을 알아봅시다.
SetCookie() 라는 함수를 이용하면 됩니다.
setcookie(이름, 값, 해제시간, 디렉토리)
그럼 이제 하나하나 알아볼까요?
당근 이름은 쿠키값의 이름입니다.
정하기 나름이죠.
값또한 마찬가지이겠죠?
중요한 해제시간이 모냐면 쿠키가 살아있는 시간을 지정하는 겁니다.
이때 time()라는 함수를 이용합니다.
time()는 현재 시간을 알려주는 함수입니다.
만약 쿠키값에 time()+3600 이라고 하면 현재시간에서 1시간을 더한겁니다.
즉 쿠키가 유용한 시간은 1시간인거죠.
만약 쿠키시간을 따로 안정하고 브라우저를 종료할때까지 유용하게 할라면 "" 를 입력하면 됩니다.
그럼 브라우저를 종료함과 동시에 해당 쿠키값은 사라지죠.
저기 3600은 초로 계산을 하는 겁니다.
그럼 그 뒤에 디렉토리는 서버의 어떤 디렉토리에 있을때 그 쿠키값이 유용한지를 아는 것입니다.
보통은 사용할 필요가 없지만 자신의 계정 전체 디렉토리에서 쿠키를 사용하기를 원할때는 "/" 를 넣어주면 됩니다.
그럼 실제로 한번 해볼까요?
setcookie("user_id", $id, "", "/");
위의 사용예는 user_id 라는 쿠키를 $id가 가지고 있는 값으로 생성하는 거죠.
시간은 브라우저를 닫을때까지 유용하고 현재 자신의 계정의 전체 디렉토리에 적용을 하는 겁니다.
setcookie("log_in", "ok", "time()+60");
만약 위와 같이 사용하면 log_in 이라는 쿠키를 "ok" 라는 값을 넣구, 1분간의 시간을 주는 겂니다.
그럼 이 쿠키를 직접 사용할때는 어떻게 할까요?
바로 $HTTP_COOKIE_VARS 라는 환경변수를 사용하면 됩니다.
이 변수는 사용자가 설정하는 것이 아니라 PHP에서 제공하는 함수입니다.
현재 디렉토리에 적합한 살아(?)있는 쿠키를 저장하고 있는 변수입니다.
$HTTP_COOKIE_VARS[lon_in] 이라고 하면 "ok"의 값을 가지고 있죠.
쿠키라는 생소한 이름에 비하면 사용하기가 매우 쉽습니다.
참, 만약에 어떤 함수내에서 쿠키값을 알고자 한다면 꼭 $HTTP_COOKIE_VARS를 전역 변수로 지정을 해줘야 합니다.
function test()
{
global $HTTP_COOKIE_VARS;
if($HTTP_COOKIE_VARS[user_id]=="zero"){ ... }
}
위와 같이 하면 되죠.
다른 변수들도 마찬가지로 함수안에서 외부의 변수를 쓰고자 하면 global 로 지정을 해준 다음 써야해요~~
이상 쿠키 끝~~
쿠키는 아시다시피 넷스케이프사에서 만든 웹서버와 클라이언트간의 인증법이라고 생각하시면 됩니다.
(쩝... 저는 용어 설명에 댑따 서툽니당... 이해해주시길..)
보통 로그인 같은 방법을 사용할때 쿠키를 사용합니다.
즉, 사용자가 ID랑 암호를 입력하면 서버에서는 그 정보가 맞는지를 판단, 맞는다면 사용자의 컴퓨터에 쿠키를 이용해서 임시로 자료를 저장하는겁니다.
그 자료를 이용해서 지금 서버에 접속해 있는 사용자가 로그인을 정식으로 한 사용자인지 판단할수가 있죠.
그럼 실질적으로 사용하는 방법을 알아봅시다.
SetCookie() 라는 함수를 이용하면 됩니다.
setcookie(이름, 값, 해제시간, 디렉토리)
그럼 이제 하나하나 알아볼까요?
당근 이름은 쿠키값의 이름입니다.
정하기 나름이죠.
값또한 마찬가지이겠죠?
중요한 해제시간이 모냐면 쿠키가 살아있는 시간을 지정하는 겁니다.
이때 time()라는 함수를 이용합니다.
time()는 현재 시간을 알려주는 함수입니다.
만약 쿠키값에 time()+3600 이라고 하면 현재시간에서 1시간을 더한겁니다.
즉 쿠키가 유용한 시간은 1시간인거죠.
만약 쿠키시간을 따로 안정하고 브라우저를 종료할때까지 유용하게 할라면 "" 를 입력하면 됩니다.
그럼 브라우저를 종료함과 동시에 해당 쿠키값은 사라지죠.
저기 3600은 초로 계산을 하는 겁니다.
그럼 그 뒤에 디렉토리는 서버의 어떤 디렉토리에 있을때 그 쿠키값이 유용한지를 아는 것입니다.
보통은 사용할 필요가 없지만 자신의 계정 전체 디렉토리에서 쿠키를 사용하기를 원할때는 "/" 를 넣어주면 됩니다.
그럼 실제로 한번 해볼까요?
setcookie("user_id", $id, "", "/");
위의 사용예는 user_id 라는 쿠키를 $id가 가지고 있는 값으로 생성하는 거죠.
시간은 브라우저를 닫을때까지 유용하고 현재 자신의 계정의 전체 디렉토리에 적용을 하는 겁니다.
setcookie("log_in", "ok", "time()+60");
만약 위와 같이 사용하면 log_in 이라는 쿠키를 "ok" 라는 값을 넣구, 1분간의 시간을 주는 겂니다.
그럼 이 쿠키를 직접 사용할때는 어떻게 할까요?
바로 $HTTP_COOKIE_VARS 라는 환경변수를 사용하면 됩니다.
이 변수는 사용자가 설정하는 것이 아니라 PHP에서 제공하는 함수입니다.
현재 디렉토리에 적합한 살아(?)있는 쿠키를 저장하고 있는 변수입니다.
$HTTP_COOKIE_VARS[lon_in] 이라고 하면 "ok"의 값을 가지고 있죠.
쿠키라는 생소한 이름에 비하면 사용하기가 매우 쉽습니다.
참, 만약에 어떤 함수내에서 쿠키값을 알고자 한다면 꼭 $HTTP_COOKIE_VARS를 전역 변수로 지정을 해줘야 합니다.
function test()
{
global $HTTP_COOKIE_VARS;
if($HTTP_COOKIE_VARS[user_id]=="zero"){ ... }
}
위와 같이 하면 되죠.
다른 변수들도 마찬가지로 함수안에서 외부의 변수를 쓰고자 하면 global 로 지정을 해준 다음 써야해요~~
이상 쿠키 끝~~
댓글 44
-
homi
2000.12.22 21:02
쿠키는 먹는거요. 크크 -
flux
2000.12.26 22:11
나두 먹을래~ -
다콤~♪
2001.01.05 12:39
노릿 노릿... 잘 꿔서 줘요 ~ 힉 -
유태환
2001.01.16 04:07
무언 야그인지 암것두 몰것는. 초보 -_-; 누가점 도와 줘여~ ㅜ,ㅜ -
문지현
2001.01.18 16:10
어떠케 쓰는거예엽!! -
Uni..
2001.01.21 23:59
ㅋㅑㅋㅑ나두 쿠키 조여~ -
김준하
2001.01.31 15:28
쪼꼬 꾸끼~ -
tagnet
2001.02.02 15:52
저두 초봅니다 에고.. 챗팅으로 하면 얼마나 많으 정보를 얻을 수 있을까여? -
토리
2001.02.10 00:28
채팅이 훨씬 나을거 같아요 ㅠㅠ -
김경진
2001.02.15 11:19
쿠키 좋아... 코코아하고 같이 먹으면.. 더 좋쥐여.. ㅡㅡ; -
kama
2001.04.04 16:13
꾸~끼~~~ -
장진희
2001.05.27 12:08
드럽게 쉽군요 -
김현지
2001.04.18 18:42
쿠키는 누가 구워주남용 ㅡ.ㅡ? ㅋㅋㅋ -
メ사시미メ
2001.04.19 16:14
이게 다 뭔말이여...... -
red1004h
2001.04.26 15:32
누가 나를 미치게 하는가....? zero!! -
채원웅
2001.04.28 01:12
이름이... -
이선진
2001.04.28 14:27
머...머쥐?ㅠ.ㅠ -
☆뚜기☆
2001.05.08 02:33
제로님 감솨 (^^)(__) ㄸ ㅓㄱ ㅣ열띠미할껍니다 ㅡㅡv -
☆뚜기☆
2001.05.08 02:33
글구..제로님 열심히 강의 ㅡㅡ;하시는데 장난하지맙시다~..쿠키도 모르고 php할려는 사람 거의없져?^^: -
곽재운
2001.05.10 02:26
쉽네요...--; -
시리우스
2001.05.30 01:05
냠냠~ 어려워 ㅠ.ㅠ -
Phoo
2001.06.02 09:15
음냐.. 대충 알아 버릴 것 같은 희미한 느낌이.. 할할.. -
신욱현
2001.06.11 01:00
자바스크립트에 쿠키보다 많이 쉽군요...^-^ -
주창현
2001.06.16 10:34
쿠키를 모르면 PHP 하지마여? -
섹쉬러버*__)
2001.07.13 01:00
짠 ㅡ.ㅡγ 쿠키 모르고 php할려는 사람 떠따 γ -
이문석
2001.07.23 23:36
11 -
psycho+.~
2001.07.24 03:43
나 --;; -
박경원
2001.07.25 17:48
마시따 ~~ 캬캬캬^^; -
양승현
2001.07.27 03:56
강의또 언제올라와엽? 열심히 배우는중 ^^ -
최원혁
2001.08.26 11:08
한페이지를 꼭 로그인 해야 볼수있게 하려면? -
김지형
2001.08.31 18:45
아싸. -_- 한통에서 돈달랜다. 똥이라두 줄까?. -_-; -
김세환
2001.11.17 18:01
모르겄다 ㅜ.ㅜ 나야나 계정 괜히 샀네 ㅜ.ㅜ -
이우진
2002.01.22 10:24
무슨뜻인지...ㅡㅡ; -
한규진
2002.01.24 12:50
왜 오븐렌지에 안구우는 걸까..쿠키만들때는 흠.... -
이동기
2002.04.30 03:05
ㅡㅡ -
pakjce
2002.09.19 19:18
음.. 지속시간 설정하는게 초단위였군요 -_-;;;
(그래서 애를 먹은적이..) -
Vichara
2003.01.07 14:24
$HTTP_COOKIE_VARS[lon_in] → [log_in]
오타..ㅡ;ㅡ -
이광우
2005.10.12 18:26
우아아악!! 모르겠닸! -
정철명
2004.10.21 22:44
강좌보고 해봤는데 성공했네요 ^_^.. -
장용걸
2005.04.08 12:40
쿠키............ -
DBLE
2005.11.25 02:06
알송달송하지만 일단 넘기고 봅니다..^^ -
추상구
2006.03.03 01:33
setcookie 함수 사용방법만 일단 알고 넘어가도
반은 알고 넘어간듯..
setcookie(이름,값,해제시간,디렉터리); -- 암기사항.. ^^ -
함정희
2007.05.01 06:20
ok~^^ -
스칼라 듄
2007.12.28 01:07
알수없는 설명 -_-;
제목 | 글쓴이 | 날짜 |
---|---|---|
페이지 자동 이동 방법 3가지!!! [10] | zero | 2000.03.06 |
카운터를 만들어봅시다~ (수정본) [181] | zero | 2000.03.08 |
쿠키(cookie)의 활용 [44] | zero | 2000.03.06 |
Zend Optimizer 4 설치 (아파치와 PHP4 Zend도 같이..) (리눅스) [6] | zero | 2000.06.04 |
리눅스에서 APM 설치 [9] | zero | 2000.05.31 |
MySQL RPM으로 설치하자!! (리눅스) [5] | zero | 2000.06.04 |
MYSQL Query의 간단한 사용법 [82] | zero | 2000.03.06 |
웹서핑 동작 원리의 이해 [18] | zero | 2007.10.05 |
입력폼에 배경그림 넣기 [1] | 정낙훈(xynex) | 2008.12.23 |
구글 번역기 API | 유비키리 | 2008.10.29 |
전체크기로 새창 열기 [1] | ITBANK.kr | 2008.10.01 |
지정된 시간동안 강제로 보여지는 언론사에서 많이 사용하는 광고창 | ITBANK.kr | 2008.10.01 |
항상 같은곳에 있는 광고창 만들기 | ITBANK.kr | 2008.10.01 |
첨부파일 확장자 체크 [정규식] | arimaya | 2008.06.23 |
자파스크립트로 GET으로 넘어온 파라미터 가져오기 [1] | 중딩 | 2008.05.26 |
나만의 위지윅 웹에디터 만들기 - 기본 준비2 [2] | 예뜨락 | 2008.05.11 |
나만의 위지윅 웹에디터 만들기 - 기본 준비1 [3] | 예뜨락 | 2008.05.05 |
나만의 위지윅 웹에디터 만들기 - 글 쓰기에 앞서 [4] | 예뜨락 | 2008.05.05 |
프레임홈일때 부분프레임 무단링크 방지하기 [3] | gosoo99 | 2008.04.08 |
동적 INPUT | june44.myid.net/ | 2008.03.31 |