여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. PHP - 기초 - Sessions
PHP – 기초 – Sessions
2년전 작성
1년전 수정

PHP 세션

응용 프로그램으로 작업할 때 응용 프로그램을 열고 일부 변경 작업을 수행한 다음 닫는다.

이것은 세션과 매우 비슷하다.
컴퓨터는 당신이 누구인지 알고 있다.
응용 프로그램을 시작할 때와 종료 시점을 알 수 있다.

그러나 인터넷에는 한 가지 문제가 있다.
HTTP 주소가 상태를 유지하지 않기 때문에 웹 서버는 귀하가 누구인지 또는 무엇을하는지 알지 못한다.
세션 변수는 여러 페이지에서 사용할 사용자 정보(예: 사용자 이름, 즐겨찾는 색상 등)를 저장하여 이 문제를 해결한다.
기본적으로 세션 변수는 사용자가 브라우저를 닫을 때까지 지속된다.

그래서 세션 변수는 한 명의 단일 사용자에 대한 정보를 보유하며 한 응용 프로그램의 모든 페이지에서 사용할 수 있다.

이 컴퓨터가 내가 사용하는 컴퓨터라는것을 어떻게 알 수 있을까?

대부분의 세션은 사용자의 컴퓨터에 765487cf34ert8dede5a562e4f3a7e12와 같은 사용자 키를 설정한다.

그런 다음 세션이 다른 페이지에서 열리면 컴퓨터에서 사용자 키를 검색하고 일치하는 항목이 있으면 해당 세션에 액세스하고 그렇지 않은 경우 새 세션을 시작한다.

세션 시작

session_start() 함수로 세션이 시작된다.

세션 변수는 PHP 전역 변수인 $_SESSION로 설정된다.
session_start() 함수는 문서에서 <HTML> 태그 보다 먼저 수행되어야한다.

PHP
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>
기본 예시
Session variables are set.

세션 변수 값 가져 오기

세션 변수는 각 새 페이지에 개별적으로 전달되지 않고 각 페이지의 시작 부분 session_start()에서 열린 세션에서 검색된다.

또한 모든 세션 변수 값은 전역 $_SESSION 변수에 저장된다.

첫번째 방법
PHP
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php

echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>
기본 예시
Favorite color is green.
Favorite animal is cat.
두번째 방법
PHP
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>
기본 예시
Array ( [favcolor] => green [favanimal] => cat )

세션 변수 수정

세션 변수를 변경하려면 덮어써야한다.

PHP
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>
기본 예시
Array ( [favcolor] => yellow )

세션 파괴

세션을 제거하려면 : session_unset()
세션을 파괴하려면 : session_destroy()

PHP
<?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>
기본 예시
All session variables are now removed, and the session is destroyed.
참고

Mingg`s Diary
밍구
공부 목적 블로그