>  기사  >  백엔드 개발  >  PHP의 세션

PHP의 세션

PHPz
PHPz원래의
2024-08-29 12:42:281083검색

세션은 웹 애플리케이션 내에서 사용됩니다. PHP에서 세션을 사용하면 웹사이트의 여러 페이지에서 데이터를 사용할 수 있습니다. 이름, 주소 등과 같은 데이터나 정보는 한 페이지에서 다른 사용자 세션으로 전달됩니다. 이 세션 정보는 인증 목적으로 사용됩니다. 쿠키가 클라이언트의 브라우저에 저장되는 것처럼 세션 데이터는 서버의 임시 디렉토리에 저장됩니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

세션을 시작하려면 session_start() 함수를 사용합니다. 그리고 세션이 시작되면 기본적으로 24분 동안 지속되며 이는 초 단위로 1440분입니다. 세션은 각 사용자를 식별하는 고유 번호인 세션 식별자 또는 SID로 식별됩니다.

PHP에서 세션을 만드는 방법은 무엇입니까?

session_start()는 세션을 시작하는 데 사용되는 함수입니다. 세션이 이미 존재하는 경우 동일한 세션을 사용합니다. 그렇지 않으면 새 세션이 생성됩니다. 이 함수는 항상 각 페이지의 시작 부분에서 호출됩니다. 함수가 호출된 후에는 세션 변수에 값을 저장할 수 있지만 그 이전에는 불가능합니다. PHP는 슈퍼 전역 변수 $_SESSION에 사용자 정보를 저장합니다.

세션이 저장되는 디렉터리 경로를 알기 위해 php.ini 파일에 session_save_path라는 지시어를 사용하여 경로를 저장합니다. 또한 session_id는 현재 세션과 관련된 ID를 인쇄합니다. 무작위로 생성된 고유번호입니다.

아래 프로그램을 살펴보겠습니다.

이 프로그램에서는 print_r($_SESSION)을 사용하여 이 세션 변수를 인쇄하면 설정된 세션 데이터가 모두 인쇄됩니다. 출력은 키-값 쌍의 연관 배열 형식입니다.

이 예에서는 먼저 session_start() 함수를 사용하여 세션을 시작하고 변수를 초기화한 후 _SESSION['name'] = $name을 사용하여 세션 변수에 할당하고 슈퍼 전역 배열을 인쇄합니다. 또한 session_id() 함수를 사용하여 고유한 세션 ID 값을 인쇄합니다.

코드:

<?php
// example to start session
//beginning a session
// no arguments are passed to this function
session_start();
//initializing variables
$name = 'Neha';$age = 28;
//storing values in session
$_SESSION['name'] = $name;
$_SESSION['age'] = $age;
// printing session valuesprint_r($_SESSION);
//using the session id
echo '<br > The session_id is ';
echo session_id();
?>

출력:

PHP의 세션

PHP에서 세션을 삭제하는 방법은 무엇입니까?

다음은 세션 삭제의 예입니다.

Session_destroy() 함수는 세션을 삭제하는 데 사용됩니다. 이 함수는 전체 세션을 파괴합니다. 단일 세션 변수를 설정 해제하려면 unset() 함수를 사용하면 됩니다.

이 예에서는 세션이 무엇을 보유하고 있는지 알아보기 위해 먼저 세션 데이터를 인쇄합니다. 그런 다음 unset() 함수를 사용하여 이미 설정된 세션 변수를 삭제합니다. 여기서는 이름 및 나이와 같은 설정된 세션 변수를 모두 삭제합니다. 그리고 삭제한 후 세션을 다시 인쇄하여 빈 배열을 반환하는 것을 확인합니다. 즉, 변수가 설정되지 않았으며 세션이 더 이상 존재하지 않는다는 의미입니다.

코드:

<?php
//example to unset session variables
//starting a session
session_start();
print_r($_SESSION);
//before destroying the session
//printing the session
unset($_SESSION['name']);
unset($_SESSION['age']);
echo 'Session destroyed';
//after destroying the session
//printing the session
print_r($_SESSION);
?>

출력:

PHP의 세션

세션을 삭제하는 방법은 무엇입니까?

다음 예에서는 세션을 삭제합니다.

세션을 파기하려면 먼저 세션 값을 확인한 후 세션을 파기하겠습니다. 세션이 존재하지 않으므로 빈 배열이 되는 세션을 다시 인쇄합니다.

예시 #1

코드:

<?php
//example to destroy session
//starting a session
session_start();
//to completely destroy a session
session_destroy();
echo 'Session destroyed';
//after destroying the session
//printing the session
echo '<br />';
print_r($_SESSION);
?>

출력:

PHP의 세션

여기 프로그램의 첫 번째 줄에서 세션을 시작하고 count 변수를 0으로 초기화하는 것을 볼 수 있습니다. 다음으로 세션 변수가 설정되었는지 여부를 확인합니다. 여기서는 세션 이름 page_views가 설정되었는지 여부를 하나의 조건으로 확인합니다. 그렇다면 카운트 변수 값을 1씩 증가시키고, 그렇지 않으면 카운트 값을 1로 초기화합니다.

예시 #2

코드:

<?php
session_start();
$count = 0;
if(!isset($_SESSION['page_views'])) {
$_SESSION['page_views'] = 1;
$count = $_SESSION['page_views'];
} else {
$_SESSION['page_views'] = $_SESSION['page_views'] + 1 ;
$count = $_SESSION['page_views'];
}
?>
<html>
<head><title>Finding count of page views</title></head>
<body>
<?php echo '<br>'. 'The count of page views '. $count;
?>
</body>
</html>

출력:

PHP의 세션

PHP에서 자동 세션을 활성화하는 방법은 무엇입니까?

PHP에서 자동 세션을 활성화하려면 구성 파일인 php.ini를 변경해야 합니다.

php.ini가 기본 구성 파일인 경우

세션은 자동으로 시작되지 않습니다. 세션이 자동으로 작동하도록 하려면 다음을 수행해야 합니다. 일단 완료되면 모든 파일에 대해 세션이 자동으로 시작되고 기본 시간이 지나면 닫힙니다.

그래서 php.ini 파일에서

를 검색하겠습니다.

session.auto_start = 0

이렇게 값을 1로 설정하세요

session.auto_start = 1

이렇게 하면 PHP가 세션을 자동으로 시작하는 데 도움이 됩니다.

세션의 중요성

세션의 중요성이 아래에 설명되어 있습니다.

  • $_COOKIE와 마찬가지로 $_SESSION도 있는데, 이는 슈퍼전역 변수이며 서버에 저장됩니다.
  • 이용자의 브라우저가 쿠키를 지원하지 않는 경우 세션을 사용할 수 있습니다. 각 세션에는 사용자의 웹사이트 방문에 따라 고유한 ID가 할당됩니다.
  • 데이터 저장 측면에서 세션은 쿠키가 저장할 수 있는 것보다 더 많은 데이터를 저장합니다.
  • 세션은 한 페이지에서 다른 페이지로 정보를 전달하는 데 사용됩니다.
  • 세션을 사용하여 웹사이트 방문자 수를 확인할 수 있습니다.
  • 이 세션은 인증 목적으로도 사용됩니다.
  • 생성된 세션 ID는 고유합니다.

결론

이 문서에서는 세션이 무엇인지, 세션 작동 방식, 세션 생성 방법, 특정 세션 삭제 방법에 대해 설명합니다.

또한 session.auto_start() 지시어 값을 1로 설정하여 세션이 자동으로 시작되도록 하는 방법도 설명되어 있습니다.

그런 다음 세션을 사용하여 페이지 조회수를 계산하는 방법을 예를 들어 설명했습니다. 또한 세션의 중요성이 무엇인지, 다양한 목적에 어떻게 유용한지 설명합니다.

위 내용은 PHP의 세션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP의 쿠키다음 기사:PHP의 쿠키