setcookie() 는 나머지 HTTP 헤더와 함께 보낼 쿠키를 정의합니다. 다른 헤더와 마찬가지로 쿠키는 스크립트의 출력 보다 먼저 전송되어야 합니다.
setcookie(
string $name,
string $value = "",
int $expires_or_options = 0,
string $path = "",
string $domain = "",
bool $secure = false,
bool $httponly = false
): bool
쿠키에는 중요하지 않은 정보들을 입력해 놓아야 합니다.
클라이언트단에 평문으로 저장되는 정보이기 때문에 사용자가 너무나도 쉽게 위변조가 가능하기 때문입니다.
ex) 팝업창 오늘하루닫아놓기 여부
세션에 저장하는 정보는 서버단에 저장되기 때문에 쿠키보다 안전하므로 사용자 정보는 쿠키가 아닌 세션에 저장해두는 것이 좋습니다.
일반적인 HTML 태그, 파일의 빈 줄 또는 PHP에서 실제 출력을 보내기 전에 header()를 호출해야 합니다. include , require , functions 또는 다른 파일 액세스 함수 로 코드를 읽고 header() 가 호출 되기 전에 출력되는 공백이나 빈 줄 이 있는 것은 매우 일반적인 오류 입니다. 단일 PHP/HTML 파일을 사용할 때도 동일한 문제가 존재합니다.
<html>
<?php
/* This will give an error. Note the output
* above, which is before the header() call */
header('Location: http://www.example.com/');
exit;
?>
header() 를 사용하여 이전에 설정한 HTTP 헤더를 제거합니다.
$name은 제거할 헤더 이름입니다. null인 경우 이전에 설정한 모든 헤더가 제거됩니다
이 매개변수는 대소문자를 구분하지 않습니다.
HTTP 응답 상태 코드를 가져오거나 설정합니다.
response_code가 제공된 경우 이전 상태 코드가 반환됩니다. response_code를 제공하지 않으면 현재 상태 코드가 반환됩니다