php_php 팁에서 쿠키를 사용하여 사용자와의 세션을 구현하는 방법
이 기사의 예에서는 PHP가 쿠키를 사용하여 사용자와의 세션을 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
PHP에는 단순 쿠키, 본격적인 사용자 세션 등 사용자 정보를 관리하고 기록하는 데 사용할 수 있는 많은 기능이 포함되어 있습니다. 세션은 슈퍼전역 변수를 참조하는 것처럼 간단하게 상태를 저장하는 PHP 언어에 내장된 기술을 사용합니다.
1. 쿠키 소개
PHP 스크립트와 함께 쿠키를 사용하여 사용자에 대한 일부 작은 정보를 저장할 수 있습니다. 쿠키는 서버나 스크립트의 요청에 따라 사용자의 브라우저에 저장되는 소량의 데이터입니다. 사용자의 브라우저를 통해 단일 호스트는 20개의 쿠키 저장을 요청할 수 있습니다. 각 쿠키에는 이름, 값, 만료 날짜는 물론 호스트 및 경로 정보가 포함됩니다. 단일 쿠키의 크기 제한은 4KB입니다.
쿠키를 설정한 후에는 요청한 호스트만 데이터를 읽을 수 있으므로 사용자의 개인정보가 보호됩니다. 또한 사용자는 자신을 통한 모든 쿠키 요청을 수락하거나 거부하도록 브라우저를 구성할 수 있습니다. 따라서 쿠키는 자제해서 사용해야 하며 구현이 사용자에게 경고하도록 설계되지 않은 환경에서는 필수 요소로 의존해서는 안 됩니다.
웹 브라우저가 쿠키를 저장하도록 구성된 경우 쿠키 기반 정보는 만료일까지 유지됩니다. 사용자가 브라우저를 사용하여 쿠키의 경로 및 도메인과 일치하는 페이지를 탐색하면 쿠키가 서버로 다시 전송됩니다. 이후 PHP 스크립트는 쿠키에 액세스할 수 있습니다. 쿠키는 환경 변수 HTTP_COOKIE에 있거나 $COOKIE 슈퍼 전역 변수의 일부로 다음 세 가지 방법으로 액세스할 수 있습니다.
echo $_COOKIE["야채"];
2. PHP를 사용하여 쿠키를 설정
두 가지 방법으로 PHP 스크립트에서 쿠키를 설정할 수 있습니다. 먼저 header() 함수를 사용하여 SetCookie 헤더를 설정합니다. Header() 함수는 서버 응답의 헤더 부분에 포함될 문자열을 기대합니다. 헤더가 자동으로 전송되므로 Jehol 출력이 브라우저에 전송되기 전에 header()를 호출해야 합니다.
Setcookie() 함수는 이름에서 알 수 있듯이 Set-Cookie 헤더를 출력합니다. 따라서 다른 콘텐츠가 브라우저로 전송되기 전에 호출되어야 합니다. 이 함수는 쿠키 이름, 쿠키 값, UNIX 타임스탬프 형식의 만료 날짜, 경로, 도메인 및 쿠키가 보안 연결을 통해서만 전송되는 경우 1로 설정된 정수를 허용합니다. 이 기능은 선택 사항입니다.
if ( isset ( $_COOKIE [ "야채" ])){
echo "
안녕하세요. " . $_COOKIE [ "야채" ]를 선택하셨습니다.
}
그렇지 않으면 {
echo "
안녕하세요. 이번이 처음 방문이군요.
" }?>
스크립트를 처음 실행할 때 쿠키를 설정하더라도 이때는 $_COOKIE["vegetable"] 변수가 생성되지 않습니다. 쿠키는 브라우저가 서버에 쿠키를 보낼 때만 읽혀지므로 사용자가 이 도메인 내의 페이지를 다시 방문할 때까지 쿠키를 읽을 수 없습니다.
공식적으로 말하면, 쿠키를 삭제하려면 쿠키 이름 매개변수와 함께 setcookies():
를 호출하면 됩니다. setcookie("야채");
그러나 이 접근 방식은 항상 작동하는 것은 아니며 신뢰할 수 없습니다. 대신 쿠키를 삭제하려면 만료된 것이 확실한 시간으로 쿠키를 설정하세요. 이것이 가장 안전한 방법입니다.
Setcookie("야채", "", time()-60, "/", "yourdomain.com", 0);
또한 원래 쿠키를 설정할 때 사용했던 것과 동일한 경로, 도메인 및 보안 매개변수를 setcookie()에 전달해야 합니다.
3. 세션 기능 개요
방문자가 세션이 활성화된 페이지에 액세스하면 새 식별자가 할당되거나 사용자가 이전 방문에 대해 이미 설정된 식별자와 다시 연결됩니다. 이미 세션과 연결된 모든 변수는 $_SESSION 슈퍼전역 변수를 통해 코드에서 사용할 수 있습니다.
session_set_save_handler()라는 함수를 사용하여 데이터베이스 저장소를 구현할 수 있지만 세션 상태는 일반적으로 임시 파일에 저장됩니다.
4. 대화 시작
echo "
귀하의 세션 ID는 " 입니다. "
" ?>5. 세션 변수 사용 모든 PHP 문서의 고유 세션 식별자에 액세스하는 것은 세션 기능의 시작일 뿐입니다. 세션이 시작되면 슈퍼전역 변수 $_SESSION에 원하는 만큼 많은 변수를 저장한 다음 세션 인식 페이지에서 해당 변수에 액세스할 수 있습니다.
다음 프로그램은 슈퍼전역 변수 $_SESSION에 두 개의 변수를 추가합니다.
$_SESSION [ "product1" ] = "소닉 드라이버" ;
$_SESSION [ "product2" ] = "HAL 2000" ;
echo "상품이 등록되었습니다." ;
?>
위 프로그램의 마법은 사용자가 새 페이지로 이동할 때까지 실현되지 않습니다. 다음 프로그램은 슈퍼전역 변수 $_SESSION에 저장된 변수에 액세스하는 단일 PHP 스크립트를 생성합니다.
echo "선택한 제품은 다음과 같습니다:" ;
에코 "
- " ;
- " . $_SESSION [ "제품1" ] ;
echo " - " . $_SESSION [ "제품2" ].
에코 "
echo "
?>
다음 프로그램 목록은 사용자가 여러 제품을 선택할 수 있는 양식을 만듭니다. 세션 변수를 사용하여 기본 장바구니를 만들 수 있습니다.
arraysession.php:
?>
세션
을 사용하여 배열 저장 머리>
제품 선택 페이지
if ( isset ( $_POST [ "form_products" ])){
if (! 비어 있음 ( $_SESSION [ "제품" ])){
$products = array_unique (
array_merge ( 직렬화 취소 ( $_SESSION [ "제품" ]),
$_POST [ "form_produces" ]));
}
그 외
{
$_SESSION [ "제품" ] = 직렬화( $_POST [ "form_products" ]);
}
echo "
귀하의 제품이 등록되었습니다!
" ;}
?>

핫 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는
