php 에서 처음으로 쿠키 문 제 를 처리 할 수 없습니다.

먼저 다음 과 같은 간단 한 코드 를 작성 합 니 다:

<?php
    setcookie('a','value');
    print $_COOKIE['a'];
첫 번 째 방문 시 오류 보고:
잘못 신고 한 이 유 는$COOKIE['a']의 값 은 존재 하지 않 습 니 다.두 번 째 방문:

―왜 처음 방 문 했 을 때 쿠키 가 없 었 을 까?내 가 먼저 설정 하고 가 져 오지 않 았 나?
답:fireforx 의 firebug 를 사용 하여"네트워크"를 봅 니 다.

클 라 이언 트:
브 라 우 저(클 라 이언 트)가 서버 에 요청 을 한 번 하고 요청 을 할 때 요청 헤더 메시지 에 각종 인 자 를 가 져 와 서버 에 내 가 어떤 텍스트(Accept),어떤 인 코딩 형식(Accept-Encoding),어떤 언어(Accept-language)를 받 아야 하 는 지 알려 주 는 것 을 볼 수 있다.물론 쿠키 도 서버(Cookie)에 전달 했다.
서버 쪽:
첫 번 째 단계:setcookie('a','value')
쿠키 는 클 라 이언 트 에 설정 되 어 있 기 때문에 setcookie 함수 자체 가 쿠키 를 설정 할 수 없습니다.이것 은 헤더 정 보 를 통 해 브 라 우 저 에 게 만 알려 줄 수 있 습 니 다.형제 님,저 는 쿠키 를 설정 하려 고 합 니 다.키 는 a 이 고 값 은 value 입 니 다.거기서 설정 해 주세요.너 도'자,짐 이 오늘 기뻐 서 너 에 게 작은 달 고 나 를 주 겠 다'고 이해 할 수 있다.
STEP 2:$COOKIE['a']$_COOKIE['a']
간단 합 니 다.실행 하 는 작업 은 브 라 우 저가 가 져 온 쿠키 문자열 에서 키 가 a 인 쿠키 를 검색 하고 값 을 되 돌려 주 는 것 입 니 다.

분명 한 것 은 이'키 가 a'인 쿠키 를 찾 을 수 없습니다.클 라 이언 트 가 서버 에 접근 할 때 이 쿠키 는 존재 하지 않 기 때 문 입 니 다.앞에서 첫 번 째 단계 에 쿠키 의 헤더 정 보 를 설정 하고 클 라 이언 트 에 게 돌아 가지 않 았 습 니 다.(phop 은 위 에서 아래로 문 구 를 실행 해 야 클 라 이언 트 에 게 돌아 갑 니 다)
STEP 3:서버 반환 정보
그 중에서 돌아 오 는 헤더 정보 에는'Set-Cookie a=value'가 있 습 니 다.브 라 우 저 는 이 헤더 정 보 를 받 고 쿠키 를 컴퓨터 의 한 파일 에 저장 합 니 다.서로 다른 브 라 우 저 쿠키 의 저장 위치 가 다른 것 같 습 니 다.이것 은 본 고의 범위 에 있 지 않 습 니 다.

브 라 우 저 를 새로 고치 고 서버 를 다시 방문 할 때 도 마찬가지 로 많은 헤드 정 보 를 서버 에 가 져 옵 니 다.다만 이번에 가 져 온 쿠키 에는 a=value 가 하나 더 있 습 니 다.소 심$COOKIE['a']는 자 연 스 럽 게 쿠키 문자열 에서 이 키 가 a 인 쿠키 의 값 을 찾 을 수 있 습 니 다.

좋은 웹페이지 즐겨찾기