세션 예제

이제 세션의 작동 방식에 대한 간략한 소개를 보았으니 세션 변수를 만들고 조작하는 방법을 보여 주는 몇 가지 실용적인 예제를 만듭니다. 세션은 고유한 세션 ID에 대해 개별 사용자의 데이터를 저장하는 간단한 방법입니다. 페이지 요청 간에 상태 정보를 유지하는 데 사용할 수 있습니다. 세션 ID는 일반적으로 세션 쿠키를 통해 브라우저로 전송되며 ID는 기존 세션 데이터를 검색하는 데 사용됩니다. ID 또는 세션 쿠키가 없으면 PHP가 새 세션을 만들고 새 세션 ID를 생성할 수 있습니다. 세션 처리는 PHP의 핵심 개념으로, 웹 사이트 또는 앱의 모든 페이지에서 사용자 정보를 유지합니다. 이 게시물에서는 PHP에서 세션 처리의 기본 사항에 대해 알아봅니다. 이 예제는 세션에서 데이터를 저장하고 검색하는 매우 기본적인 데모입니다. 첫 번째 스크립트에서 값 “Callum”은 $_SESSION 배열의 키 “사용자 이름”과 연결되었습니다. 두 번째 스크립트에서는 키를 사용하여 $_SESSION 배열에서 정보를 다시 요청했습니다. $_SESSION을 사용하면 사용자의 활성 브라우징 세션의 페이지 요청 에서 정보를 저장하고 검색할 수 있습니다. 세션에서 값을 얻으려면 HttpSession 인터페이스의 getAttribute() 메서드를 사용합니다.

여기서는 특성 이름을 사용하여 특성 값을 가져옵니다. 세션은 session_start() 함수를 사용하여 수동으로 시작할 수 있습니다. session.auto_start 지시문이 1로 설정되면 요청 시작 시 세션이 자동으로 시작됩니다. 세션 변수를 초기화하는 방법을 보여 주는 다음 예제 스크립트를 살펴보겠습니다. 전체 웹 사이트의 다양한 페이지에서 데이터에 액세스할 수 있도록 하는 또 다른 방법은 PHP 세션을 사용하는 것입니다. 동시에 사이트에 액세스하는 많은 사용자가 있을 수 있지만 각 세션에 대해 PHP가 할당하고 관리하는 고유한 아이디 덕분에 각 사용자의 세션을 자신만 사용할 수 있습니다. 세션 정보는 사용자의 컴퓨터가 아닌 서버에 저장되므로(쿠키 데이터가 저장됨) 페이지 요청 간에 정보를 전달하기 위한 기존 쿠키보다 세션이 더 안전합니다. HttpSession은 배포 설명자 파일(web.xml)에서 태그에 지정된 시간 초과 값 보다 더 많이 사용되지 않을 때까지 유지됩니다. 기본 시간 초과 값은 30분이며 태그에 값을 지정하지 않으면 사용됩니다.

즉, 사용자가 지정된 웹 응용 프로그램 시간을 방문하지 않으면 서번트 컨테이너에 의해 세션이 소멸됩니다. 후속 요청은 이 세션에서 더 이상 제공되지 않으며, 서벨릿 컨테이너는 새 세션을 만듭니다. 세션 변수는 PHP 전역 변수인 $_SESSION로 설정됩니다. 다음 예제를 사용하여 어떻게 작동하는지 이해해 보겠습니다. Session_destroy는 세션과 연결된 쿠키를 포함하여 모든 세션 데이터를 제거합니다. 이 문서의 첫 번째 절반에서는 세션의 기본 개념에 대해 설명했으며 나중에 세션 변수를 만들고 삭제하는 방법을 보여 주는 몇 가지 PHP 예제를 만들었습니다. PHP가 스크립트 실행이 끝나면 세션이 자동으로 종료되지만 session_write_close() 함수를 사용하여 수동으로 종료할 수 있습니다.