쿠키생성 및 사용하기

공수래 2014.09.14 14:30 조회 수 : 660

php 쿠키생성 및 처음으로  사용하는데 그리 어렵지는 안은듯??.


1. 쿠키생성

setcookie("쿠키명", "쿠키 값", "유효시간", "경로", "유효호스트명", "보안접속옵션","HTTP제한여부");


ex.

setcookie("w4dy", "멍청멍청해", "1", "", "http://w4dy.wo.tc/", TrueTrue);


설명.

위와같이 쿠키를 설정하였는데, 

'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'


  • 인기글
  • 최근글
  • 최근댓글