>  기사  >  백엔드 개발  >  PHP 헤더()에서 쿠키를 설정하는 방법

PHP 헤더()에서 쿠키를 설정하는 방법

青灯夜游
青灯夜游원래의
2021-02-25 17:48:383670검색

PHP에서는 header() 함수를 사용하여 원본 HTTP 헤더를 클라이언트에 보냅니다. 쿠키는 "header("Set-Cookie:xxxxxxxxxxxxxxxx",false);" 형식으로 설정할 수 있습니다.

PHP 헤더()에서 쿠키를 설정하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

header() 함수는 원본 HTTP 헤더를 클라이언트에 보냅니다.

헤더는 쿠키를 출력합니다

쿠키 기능을 설정하려면 헤더를 통해 브라우저 측을 설정해도 효과적입니다. 따라서 헤더를 통한 출력도 가능합니다. 따라서 여러 동등한 헤더 작업 작성에 관해 비교하고 배워 보겠습니다.

header("Set-Cookie:cookie_name1_cp=" . urlencode("浏览器关闭失效"));
setcookie("cookie_name1", "浏览器关闭失效");

PHP 헤더()에서 쿠키를 설정하는 방법

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !

참고:

우리는 setcookie와 PHP 헤더 모두 쿠키를 설정할 수 있다는 것을 알고 있습니다. 그러나 헤더를 사용할 때 주의해야 할 또 다른 사항이 있습니다. 그것은 헤더와 setcookie 사이의 순서 또는 심지어 헤더와 헤더 사이의 순서입니다.

header("Set-Cookie:")는 이 명령문이 호출되기 전의 모든 header("Set-Cookie:") 및 setcookie(setrawcookie) 효과를 지웁니다. 4개의 쿠키가 설정된 아래 예를 참조하세요. 그러나 실제로는 하나만 적용됩니다. 나머지 세 명은 마지막 한 명에게 씻겨 나갔기 때문입니다.

header("Set-Cookie:cookie_name1_cp=" . urlencode("浏览器关闭失效"));
setcookie("cookie_name1", "浏览器关闭失效");
setcookie("cookie_name3", "设置有效域名/https/httponly", time() + 3600*24, "/", $_SERVER['SERVER_NAME'], isset($_SERVER["HTTPS"]),true);
header("Set-Cookie:cookie_name3_cp=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly");

PHP 헤더()에서 쿠키를 설정하는 방법

PHP 헤더()에서 쿠키를 설정하는 방법

해결책:

헤더에 두 번째 매개변수인 false를 추가하세요. 즉,

header("Set-Cookie:xxxxxxxxxxxxxxxx",false);

예를 들면 다음과 같습니다.

header("Set-Cookie:cookie_name3_cp=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly;");
header("Set-Cookie:cookie_name3_cp2=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly;",FALSE);

이 경우 false 매개변수를 사용하는 헤더는 원래 헤더와 충돌하지 않습니다. 자세한 내용은 헤더의 PHP 함수 설명을 참조하세요.

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

false 설정은 $replace 매개변수로, 동일한 유형의 기존 헤더를 대체하지 않는다는 의미입니다. "같은 유형"이라는 점에 유의하세요.

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !

위 내용은 PHP 헤더()에서 쿠키를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.