PHP Web Prog.
이번에는 쿠키를 저장하고, 읽어들이는 방법에 대해서 간단히 알아볼까 합니다.
일반적으로 쿠키를 생성하고 읽는 방법은 다음과 같습니다.
1. 쿠키생성
setcookie("쿠키명", "저장할 값", "유효시간", "유효경로", "유효호스트명", "보안접속옵션");
2. 쿠키값 읽기
$_COOKIE("쿠키명");
쿠키생성 옵션중에는 보통 세번째나, 네번째 옵션까지 쓰일듯한데요?
세번째 유효시간을 표기하지 않을 경우, 브라우저를 닫음과 동시에 사라집니다.(기본값)
네번째 옵션인 유효경로를 설정해놓으면, 유효경로 하위의 페이지에서 쿠키가 사용되구요.
다섯번째 옵션도 비슷하게 해당 호스트에서만 쿠키가 사용됩니다.
마지막 옵션인 보안접속옵션은, 사용해보지는 않았지만, Https 보안접속인 경우에만 쿠키가 구워질 수 있도록 하는 옵션이라네요. 사용하고 싶으시면 1 이라는 값을 넣어주시면 됩니다.
그리고 오류없이 테스트 하기 위해선 다음을 확인해야 합니다.
1. php 페이지 저장시(UTF-8인 경우), BOM 이 없는 형태로 저장되어야 합니다. (많이 헤맸습니다. 외국사이트 뒤짐)
- 그렇지 않으면 다음과 같이 계속 헤더가 이미 전송되었다고, 에러가 뜹니다.
Warning: Cannot modify header information - headers already sent by .....
2. setcookie는 빈공간이나 다른 문자열이 출력되기전에 선언되어야 합니다.
- 그렇지 않으면 계속 헤더가 이미 전송되었다고, 에러가 뜹니다.
3. 테스트는 setcookie를 선언한 페이지가 아닌 페이지에서 확인하거나 새로고침을 통해 확인을 해야 합니다.
첫번째 사항에서 꽤 시간을 보냈는데요. naver에서는 안나오던데.. 다행히 외국 사이트에는 답변이 나와있었습니다...
다들..euc-kr로 작업하시나봐요. 한글이 안되서 BOM이 있는 형태로 저장했었는데... 아무튼 알아두시면 좋을듯 합니다 ^^
다음과 같이 페이지를 만들고 테스트를 합니다.
<?
setcookie("test", "12");
echo $_COOKIE[test];
if(!$_COOKIE[test]){echo "no cookies";}
?>
결과화면입니다.
12
쿠키의 정보를 알고싶으시면, 개발자 도구를 이용하세요~
'프로그래밍 > PHP' 카테고리의 다른 글
[PHP] 세션(session)에 대해서 알아보자. (0) | 2013.07.11 |
---|---|
[PHP] 쿠키(Cookie)를 이용한 방문횟수를 체크해보자. (0) | 2013.07.10 |
[PHP] include, 다른페이지를 삽입해 보자. (0) | 2013.07.10 |
[PHP] GET, POST 간단한 form 테스트를 해보자. (0) | 2013.07.10 |
[PHP] 함수를 만들어보자! (0) | 2013.07.10 |