PHP 세션
응용 프로그램으로 작업할 때 응용 프로그램을 열고 일부 변경 작업을 수행한 다음 닫는다.
이것은 세션과 매우 비슷하다.
컴퓨터는 당신이 누구인지 알고 있다.
응용 프로그램을 시작할 때와 종료 시점을 알 수 있다.
그러나 인터넷에는 한 가지 문제가 있다.
HTTP 주소가 상태를 유지하지 않기 때문에 웹 서버는 귀하가 누구인지 또는 무엇을하는지 알지 못한다.
세션 변수는 여러 페이지에서 사용할 사용자 정보(예: 사용자 이름, 즐겨찾는 색상 등)를 저장하여 이 문제를 해결한다.
기본적으로 세션 변수는 사용자가 브라우저를 닫을 때까지 지속된다.
그래서 세션 변수는 한 명의 단일 사용자에 대한 정보를 보유하며 한 응용 프로그램의 모든 페이지에서 사용할 수 있다.
이 컴퓨터가 내가 사용하는 컴퓨터라는것을 어떻게 알 수 있을까?
대부분의 세션은 사용자의 컴퓨터에 765487cf34ert8dede5a562e4f3a7e12와 같은 사용자 키를 설정한다.
그런 다음 세션이 다른 페이지에서 열리면 컴퓨터에서 사용자 키를 검색하고 일치하는 항목이 있으면 해당 세션에 액세스하고 그렇지 않은 경우 새 세션을 시작한다.
세션 시작
session_start() 함수로 세션이 시작된다.
세션 변수는 PHP 전역 변수인 $_SESSION로 설정된다.
session_start() 함수는 문서에서 <HTML> 태그 보다 먼저 수행되어야한다.
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php $_SESSION["favcolor"] = "green"; $_SESSION["favanimal"] = "cat"; echo "Session variables are set."; ?> </body> </html>
세션 변수 값 가져 오기
세션 변수는 각 새 페이지에 개별적으로 전달되지 않고 각 페이지의 시작 부분 session_start()에서 열린 세션에서 검색된다.
또한 모든 세션 변수 값은 전역 $_SESSION 변수에 저장된다.
첫번째 방법
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>"; echo "Favorite animal is " . $_SESSION["favanimal"] . "."; ?> </body> </html>
Favorite animal is cat.
두번째 방법
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php print_r($_SESSION); ?> </body> </html>
세션 변수 수정
세션 변수를 변경하려면 덮어써야한다.
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // to change a session variable, just overwrite it $_SESSION["favcolor"] = "yellow"; print_r($_SESSION); ?> </body> </html>
세션 파괴
세션을 제거하려면 : session_unset()
세션을 파괴하려면 : session_destroy()
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // remove all session variables session_unset(); // destroy the session session_destroy(); echo "All session variables are now removed, and the session is destroyed." ?> </body> </html>