PHP에서 세션
브라우저에서 웹사이트 페이지를 볼 때, 해당 페이지의 PHP 스크립트는 이미 오래전에 실행을 마치고 우리에 대해 잊어버렸습니다. 따라서 웹사이트의 한 페이지에서 다른 페이지로 이동할 때 - PHP 스크립트는 이전 페이지의 데이터, 예를 들어 변수 값을 기억할 수 없습니다.
그러나, 사용자의 선택을 기억하거나 사용자가 인증되었다는 사실을 기억하기 위해서라도 이런 메커니즘은 매우 필요합니다.
PHP에서 사이트 페이지 간에 사용자 데이터를 저장하기 위해 세션이 설계되었습니다. 우리는 어떤 정보라도 세션에 기록하고 이 사이트의 이 스크립트나 다른 스크립트의 다음 실행에서 그것을 읽어올 수 있습니다. 세션을 사용하여 사용자 인증, 인터넷 쇼핑몰의 장바구니 및 기타 기능을 구현할 수 있습니다.
사용자 세션은 서버에 저장됩니다. 그러나 그것은 영원히 지속되지 않으며, 약 30분 정도만 지속됩니다 - 사용자가 이 시간 동안 사이트에 어떤 요청도 수행하지 않으면, 그의 세션은 삭제되고 비워집니다.
자, 이제 PHP에서 세션을 어떻게 작업하는지
살펴보겠습니다.
세션에 무언가를 기록하려면 먼저
session_start 함수를 사용하여 세션을
초기화해야 합니다:
<?php
session_start();
?>
초기화 후에는 무언가를 세션에 기록하거나
거기서 무언가를 읽을 수 있습니다.
이는 슈퍼글로벌 배열
$_SESSION를 사용하여 수행됩니다.
실제로 시도해 봅시다. 파일
test1.php를 만들고 다음 코드를 넣으세요:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // 세션에 기록
?>
그리고 파일 test2.php에는 다음 코드를 넣으세요:
<?php
session_start();
echo $_SESSION['test']; // 세션에서 읽기
?>
이제 먼저 브라우저에서 파일
test1.php를 열고, 그 다음 test2.php를 열어보세요.
두 번째 파일을 열 때 브라우저에는
첫 번째 파일에서 세션에 기록된 내용이 출력될 것입니다.
두 개의 파일을 만드세요. 첫 번째 파일을 실행할 때 세션에 두 숫자를 기록하고, 두 번째 파일을 실행할 때는 이 숫자들의 합을 화면에 출력하세요.