세션 제어는 사용자를 추적하는 통신 방법으로 주로 다음 사항을 기반으로 합니다. http 프로토콜의 상태 비저장 특성으로 인해 일반 프로토콜을 통해 두 요청 간의 연결을 설정할 수 없습니다. 페이지 가져오기 및 게시 데이터 전송 방법은 주로 매개변수 전송 및 데이터 입력을 처리합니다. 두 페이지 간의 간단한 데이터 전송은 웹사이트의 여러 페이지에 대해 다양한 권한 차이가 있을 수 있습니다. 다른 페이지, 다른 작업 방법 등으로 이어집니다. get 및 post를 사용하는 것은 매우 번거롭습니다.
1. 쿠키 방식
사용자를 추적하려면 쿠키의 개념은 사용자가 웹사이트의 첫 페이지를 방문할 때 사용자의 쿠키를 설정하는 것입니다. 정보 식별자, 웹 서버는 이를 텍스트 파일 형태로 사용자 컴퓨터에 저장합니다. 이 파일은 사용자가 웹사이트의 두 번째 페이지를 방문할 때 http 헤더에 키-값 쌍으로 저장됩니다. 쿠키 파일의 정보로 서버에 접속하여 지금 바로 사용자 정보를 다시 확인하세요. 이렇게 하면 방문할 때마다 사용자 정보를 입력하지 않고 여러 페이지 간 방문이 동일한 사용자인지 확인할 수 있습니다.
쿠키에 정보를 설정하는 함수: setcookie($key, $value, $expire, $path, $domain, $secure).
매개변수는 키, 값, 만료 시간(UNIX 타임스탬프, 기본값은 0이며 브라우저를 닫으면 쿠키가 사라짐을 의미), 쿠키에 액세스할 수 있는 경로를 설정한 후 해당 경로 아래에 스크립트를 작성합니다. 서버는 쿠키에 액세스할 수 있으며(기본값은 루트 디렉토리), 쿠키에 액세스하기 위한 도메인 이름, 이 도메인 이름 아래의 웹사이트 페이지(예: www.example.com)만 쿠키에 액세스할 수 있으며, 쿠키는 다음과 같은 경우에만 활성화됩니다. https 보안 연결.
예를 들어 post를 통해 양식을 제출한 후 일부 정보를 기록합니다
<?php if(isset($_POST)){ $time = time(); setcookie('user', $_POST['user'], $time+3600); // 时间参数需要比当前时间点大,以表示cookie信息的有效时间 setcookie('data', array(1,2,3), $time+1200); // 可以存放各种数据 }
쿠키 삭제는 여전히 setcookie를 통해 이루어집니다. 예를 들어 시간을 앞당기는 형식으로 작성하거나 키 이름을 직접 작성하는 것이 가장 좋습니다. , 사용자가 종료를 클릭하면 이 작업을 수행합니다
setcookie('user', '', time()-200); // 时间提前,相对当前时间 setcookie('user'); // 简写,只写键名
s 2. 세션 방법
session_start(); // 开启或返回一个会话2. $_SESSION에서 관련 변수를 지웁니다. array
unset($_SESSION['robert']) // 销毁某一个变量 $_SESSION = array(); // 或者一次性全部销毁会话变量3. 클라이언트에 저장된 쿠키를 삭제하세요. 세션 ID는 여전히 사용자의 컴퓨터에 있다는 것을 잊지 마세요
if(isset($_COOKIE[session_name()])){ unset($_COOKIE[session_name()]); // session_name()获取sesion的名,session id也是以名和值的形式存储的 }4. 서버에 저장된 정보를 완전히 파기하세요
session_destroy();네 단계를 마치면 세션이 종료됩니다.
session_start() 함수를 호출하면 됩니다. 함수의 구체적인 기능은 PHP 문서를 참조하세요. 이 함수는 세션을 사용하여 스크립트 시작 시 호출되어야 합니다. 그렇지 않으면 세션에 저장된 모든 정보를 스크립트에서 사용할 수 없습니다. session_start() 함수를 수동으로 호출하는 것 외에도 PHP가 자동으로 호출하도록 자동으로 구성할 수도 있습니다.
2) 세션 변수 등록
PHP4.1부터 세션 변수는 슈퍼 전역 배열 $_SESSION에 저장됩니다. 세션 변수를 생성하려면 $_SESSION['myvar'] = 5;
3) 세션 변수 사용
세션 변수를 사용하는 방법은 매우 간단합니다. $_SESSION 배열에 액세스하고 저장하려면 세션 변수로 충분합니다. 예를 들어 echo $_SESSION['mywar']; 은 5를 출력합니다. 세션을 사용하기 전에 먼저 session_start() 함수를 사용하여 세션을 시작해야 합니다.
4) 변수 등록 취소 및 세션 삭제
변수 등록을 취소하려면 unset($_SESSION['myvar'])와 같이 unset을 직접 사용하면 됩니다. 모든 세션 변수를 한 번에 삭제하려면 unset($ _SESSION); 세션이 끝나면 모든 변수를 먼저 등록 해제한 다음 session_destroy()를 호출하여 세션 ID를 지워야 합니다.
위 내용은 PHP의 세션 제어에 대한 심층적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!