PHP에서 쿠키를 삭제하는 방법
PHP에서는 setcookie() 함수를 사용하여 쿠키를 삭제할 수 있습니다. 함수의 두 번째 매개변수를 비워두거나 세 번째 매개변수를 시스템의 현재 시간보다 작게 설정하기만 하면 됩니다. setcookie($cookiename,'');", "setcookie($cookiename, NULL);" 또는 "setcookie($cookiename, "", time() - 3600);".
이 기사의 운영 환경: Windows 7 시스템, PHP 8 버전, DELL G3 컴퓨터.
php delete cookie
먼저 관련 쿠키의 메커니즘을 살펴보겠습니다.
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )
쿠키를 삭제하려면 만료 날짜가 과거인지 확인하여 브라우저의 삭제 메커니즘을 실행해야 합니다.
다음 예에서는 방금 설정한 쿠키를 삭제하는 방법을 보여줍니다.
//将过期时间设为一小时前 setcookie("TestCookie", "", time() - 3600); setcookie("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1); ?>
쿠키를 삭제하는 방법은 쿠키의 유효 기간을 현재 시간 이전으로 설정하는 것인데, 이는 거의 모든 PHP 프로그래머가 하는 작업입니다.
나중에 PHP를 처음 접하는 친구가 프로그램에서 쿠키의 값을 비워두도록 설정하고 싶었는데 쿠키가 바로 삭제되었다고 하더군요. 당시 내 첫 번째 반응은 믿을 수 없다는 것이었기 때문에 테스트해 보았습니다.
setcookie("testcookie", ''); print_r($_COOKIE);
결과는 $_COOKIE['testcookie']뿐만 아니라 전체 $_COOKIE 배열이 비어 있다는 것입니다. 그래서 Winsock을 사용하여 패킷을 캡처하고 반환된 http 헤더를 관찰한 결과 http 헤더가 "Set-Cookie: testcookie=deleted; 만료=Mon, 18-Jun-2007 02:42:33 GMT"로 나타났습니다. 이는 "setcookie("testcookie ", '');"를 의미하며 실제로 쿠키 testcookie를 직접 삭제하며 PHP 매뉴얼에는 이 상황에 대한 설명이 전혀 없습니다.
드디어 PHP 소스 코드를 읽고 마침내 진실을 찾았습니다. (이것이 오픈 소스의 장점입니다. 내부 이야기에 대해 불분명한 점이 있으면 소스 코드를 직접 확인하세요.)
다음 코드는 php5.20 Linux 소스 패키지의 ext/standard/head.c 라인 99 근처에서 찾을 수 있습니다.
if (value && value_len == 0) { /* * MSIE doesn't delete a cookie when you set it to a null value * so in order to force cookies to be deleted, even on MSIE, we * pick an expiry date 1 year and 1 second in the past */ time_t t = time(NULL) - 31536001; dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, t, 0 TSRMLS_CC); sprintf(cookie, "Set-Cookie: %s=deleted; expires=%s", name, dt); efree(dt); } else { sprintf(cookie, "Set-Cookie: %s=%s", name, value ? encoded_value : ""); if (expires > 0) { strcat(cookie, "; expires="); dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, expires, 0 TSRMLS_CC); strcat(cookie, dt); efree(dt); } }
소스 코드는 "if (value && value_len == 0)"를 명확하게 표시합니다. "value_len"은 0입니다. "sprintf(cookie, "Set-Cookie: %s=deleted;expires=%s", name, dt);"는 브라우저에 쿠키를 삭제하기 위해 http 헤더를 보냅니다.
마지막으로 결론을 내릴 수 있습니다. PHP에서 "setcookie($cookiename, '');" 또는 "setcookie($cookiename, NULL);"을 사용하면 쿠키가 삭제되지만 물론 그러한 매뉴얼은 없습니다.
(추천: "PHP 비디오 튜토리얼")
위 내용은 PHP에서 쿠키를 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
