setcookie(name, value, expire, path, domain, secure, httponly);
반환 값
쿠키 생성 성공 = TRUE
쿠키 생성 실패 = FALSE매개변수 설명
name : 쿠키의 이름
value : 쿠키의 값
expire : 쿠키 유지 시간을 설정 ( time() + 10 = 10초간 쿠키 유지 )
path : 쿠키를 이용할 수 있는 경로 // 기본값 = 웹 문서 경로
domain : 쿠키를 이용할 수 있는 도메인 // 기본값 = 지정안함
secure : HTTPS를 사용할 건지 지정 // 기본값 = FALSE
httponly : secure와 반대로 HTTP로만 접속 할건지 설정 // 기본값 = FALSE
함수 time()
은 현재 시간을 출력하는 함수이다.
예시
POST를 이용해 값을 전달해 COOKIE로 저장하는 PHP파일
<form method="post" > <h1>LOGIN</h1> ID : <input type="text" name="postID"/><br/> PW : <input type="password" name="postPW"/><br/> <input type="submit" value="LOGIN"/> </form> <?php if(isset($_POST['postID'])){ $cookie_name = $_POST['postID']; $cookie_value = $_POST['postPW']; setcookie('cookie_name', $cookie_name, time() + 10); setcookie('cookie_value', $cookie_value, time() + 10); } if(!isset($_COOKIE['cookie_name'])) { echo "Cookie named '" . $cookie_name . "' is not set!"; } else { echo "<p>I D : ".$_COOKIE['cookie_name']."<br/>"; echo "PW : " . $_COOKIE['cookie_value']."</p>"; } ?>
분석
1 ~6번째 줄 : POST를 통해 php로 값을 전달 하는 폼(form)
8, 9 번째 줄 : 변수$cookie_name
,$cookie_value
에 POST로 값을 입력
11 번째 줄 : 함수setcookie()
에 name, value, exprie 인자(매개변수)를 전달12~18번 줄 : 함수 isset()을 이용해 쿠키에 이름값이 설정되어 있는지 확인 후
저장 되어 있으면 출력하는 if ~ else문
isset($변수) 함수는
“$변수”에 값이 입력되어 있는지 확인하는 변수
입력되어있으면 = TRUE
입력되어있지 안으면 = FALSE
Cookie Delete
쿠키를 지우는 방법으로는
setcookie()함수를 이용해 cookie값을 수정해 만료(exprire)시킨다.
예시
<form method="post" > <h1>COOKIE DEL</h1> DEL : <input type="submit" value="DEL" name="cookieDEL"/> </form> <?php if($_POST['cookieDEL'] == "DEL"){ setcookie('cookie_name', "", time() - 10); setcookie('cookie_value', "", time() - 10); echo $cookie_name."DELETE!"; } else echo "Cookie not delete" ?>
분석
1 ~4번째 줄 : POST를 통해 php로 DEL 값을 전달 하는 폼(form)
6~11번째 줄 : DEL 버튼을 눌렀는지 확인하는 if ~ else 문
7번째 줄 : setcookie함수를 통해 $cookie_name의 만료시간을 되돌려 cookie값을 만료시킴
다만 쿠키값을 만료 했다고 해서
쿠키값이 지워지지는 않는다.

만약
” Cookie named
‘입력값’
is not set! ”
라고 나오면
F5 키를 눌러
새로고침하면
제대로 나온다.