php 쿠키생성 및 처음으로 사용하는데 그리 어렵지는 안은듯??.
1. 쿠키생성
setcookie("쿠키명", "쿠키 값", "유효시간", "경로", "유효호스트명", "보안접속옵션","HTTP제한여부");
ex.
setcookie("w4dy", "멍청멍청해", "1", "/ ", "http://w4dy.wo.tc/", True, True);
설명.
위와같이 쿠키를 설정하였는데,
'w4dy' 라는 이름의 변수에
'멍청멍청해' 라는 값으로
'1' 일간 유효시간을 표기하지 않을 경우, 브라우저를 닫음과 동시에 사라집니다.(기본값)
'/' 루트의 경로에서 유효하게 됩니다.
'/ xe/ 라고 하면 다른 경로에서는 이 쿠키에 접근할 수 없게 됩니다.
유효경로를 설정해놓으면, 유효경로 하위의 페이지에서만 쿠키가 사용됩니다.
보안접속옵션이 true로 되어 있기 때문에 이 쿠키는 HTTPS 를 통해서만 전달됩니다.
보안 서버를 제공할 수 없다면 사용할 수 없습니다.
마지막 옵션은 이 쿠키를 자바스크립트등의 스크립트에서 사용할 수 없도록 하는 옵션입니다.
지원되지 않는 브라우저도 있기 때문에 자주 사용하지 않습니다.
통상적으로 4가지 옵션을 사용할수 았을것 같네요.
***************
1. php 페이지 저장시(UTF-8인 경우), BOM 이 없는 형태로 저장되어야 합니다.
- 그렇지 않으면 계속 헤더가 이미 전송되었다고, 에러가 뜹니다.
2. setcookie는 빈공간이나 다른 문자열이 출력되기전에 선언되어야 합니다.
- 그렇지 않으면 계속 헤더가 이미 전송되었다고, 에러가 뜹니다.
3. 테스트는 setcookie를 선언한 페이지가 아닌 페이지에서 확인하거나 새로고침을 통해 확인을 해야 합니다.
****************
2. 쿠키값 읽기
$_COOKIE("쿠키명");
echo $_COOKIE[w4dy]; 하면 '멍청멍청해' 가 출력 되겠지요.
php에서 사용하려니 'setcookie는 빈공간이나 다른 문자열이 출력되기전에 선언되어야 합니다.' 이부분에서 문제....
해서 js로 선언하고 php받아서 사용하니 ok.
참고로 jQuery cookie사용
jQuery cookie(쿠키) 사용
js 파일(jquery.cookie.js) 다운로드 경로 : https://github.com/carhartl/jquery-cookie
1. 세션 쿠키 - 세션 쿠키는 브라우저가 열려 있는 동안만 유지
$.cookie('key' , 'value');
2. 만료일 지정 쿠키
$.cookie('key' , 'value', { expires : 값 });
- expires 단위는 일(日)
3. path 지정 - 별도의 path 지정을 하지 않으면 쿠키가 만들어진 페이지 경로에만 적용되므로 모든 페이지를 원할지 아래와 같이 세팅
$.cookie('key' , 'value', { expires : 값, path : '/' });
$.cookie('key' , 'value', { path : '/' });
4. 쿠키 읽기
$.cookie('key' );
5. 쿠키 삭제
$.cookie('key', null);
6. 쿠키 적용될 도메인 - default 로 쿠키가 만들어잔 도메인
domain : 'domain.com'