최신 웹 개발 튜토리얼
 

PHP 5 개 세션


세션은 정보를 저장하는 방법입니다 (in variables) 여러 페이지에 걸쳐 사용되는.

쿠키는 달리, 정보가 사용자의 컴퓨터에 저장되지 않습니다.


PHP는 세션은 무엇인가?

당신이 응용 프로그램과 함께 작업 할 때, 당신은 그것을 열 몇 가지 변경을 한 다음 그것을 닫습니다. 이것은 많은 세션 같다. 컴퓨터가 당신이 누구인지 알고있다. 당신이 종료 할 때 응용 프로그램을 시작할 때 알고있다. 그러나 인터넷에서 한 가지 문제가있다 : HTTP 주소가 상태를 유지하지 않기 때문에 웹 서버는 당신이 당신이 누구인지 또는하지 않습니다.

세션 변수는 사용자 정보를 저장하여이 문제가 여러 페이지에 걸쳐 사용되는 해결 (eg username, favorite color, etc) . 사용자가 브라우저를 닫을 때까지 기본적으로 세션 변수가 지속됩니다.

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

팁 : 영구 저장이 필요한 경우, 당신은에 데이터를 저장 할 수 있습니다 데이터베이스 .


PHP는 세션 시작

세션이 시작됩니다 session_start() 함수입니다.

$ _SESSION : 세션 변수는 PHP 전역 변수로 설정됩니다.

자,라는 새로운 페이지를 만들 수 있습니다 "demo_session1.php" . 이 페이지에서, 우리는 새로운 PHP 세션을 시작하고 몇 가지 세션 변수를 설정 :

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

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

</body>
</html>
»실행 예

Note: session_start() 함수는 문서의 첫 번째 일이 될해야합니다. HTML 태그 전에.


PHP 세션 변수 값을 가져 오기

다음으로, 우리는라는 다른 페이지 생성 "demo_session2.php" . 이 페이지에서, 우리는 우리가 첫 페이지에 설정 한 세션 정보에 액세스합니다 ("demo_session1.php") .

대신에 그들은 우리가 각 페이지의 시작 부분에 열 세션에서 검색, 변수는 각각의 새로운 페이지에 개별적으로 전달되지 않습니다 세션을 주목하라 ( session_start() ).

또한 모든 세션 변수 값이 글로벌 $ _SESSION 변수에 저장되어있는 것을 알 수 :

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

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>
»실행 예

사용자 세션에 대한 모든 세션 변수의 값을 표시하는 또 다른 방법은 다음 코드를 실행하는 것입니다 :

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

<?php
print_r($_SESSION);
?>

</body>
</html>
»실행 예

그것은 어떻게 작동합니까? 어떻게 내가 그것을 알고 있는가?

765487cf34ert8dede5a562e4f3a7e12 : 대부분의 세션은 다음과 같이 보이는 사용자의 컴퓨터에 사용자가 키를 설정합니다. 세션이 다른 페이지를 열 때 다음, 그것은 사용자 키의 컴퓨터를 검색합니다. 일치가있는 경우, 세션, 그렇지 않은 경우는 새로운 세션을 시작하도록 액세스합니다.


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>
»실행 예

PHP는 세션을 파괴

모든 글로벌 세션 변수를 제거하고 세션을 사용하여 파괴하는 session_unset()session_destroy() :

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

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>
»실행 예