(PHP 4, PHP 5)
session_start — 세션 데이터 초기화
session_start()는 세션을 생성하거나 GET, POST, 쿠키 등의 요청으로 전달될 수 있는 현재 세션 id에 기반하여 현재 세션을 재시작합니다.
이름 붙인 세션을 사용하려면, session_start()를 호출하기 전에 session_name()을 호출해야 합니다.
session_start()는 trans-sid가 켜져 있을 때 URL을 다시쓰기 위한 내부 출력 핸들러를 등록합니다. 사용자가 ob_gzhandler나 ob_start()로 유사한 작동을 하면, 적합한 출력을 얻기 위해 출력 핸들러의 순서가 중요합니다. 예를 들어, 사용자는 세션을 시작하기 전에 ob_gzhandler를 등록해야 합니다.
이 함수는 세션이 성공적으로 시작되면 TRUE, 아니면 FALSE를 반환합니다.
버전 | 설명 |
---|---|
5.3.0 | 세션 시작에 실패하면 FALSE를 반환합니다. 이전에는 항상 TRUE를 반환했습니다. |
4.3.3 | 이 때부터, 세션이 이미 시작되어 있을 때 session_start()를 호출하면 E_NOTICE 등급 오류가 발생합니다. 또한, 두번째 세션 시작은 무시됩니다. |
Example #1 세션 예제: page1.php
<?php
// page1.php
session_start();
echo 'Welcome to page #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';
// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>
page1.php를 본 후에, 두번째 페이지 page2.php가 세션 데이터를 가집니다. 세션 레퍼런스에서 세션 id 전달을 읽어보십시오. SID 상수가 무엇인지 등에 관하여 설명되어 있습니다.
Example #2 세션 예제: page2.php
<?php
// page2.php
session_start();
echo 'Welcome to page #2<br />';
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>
Note: 쿠키 기반 세션을 사용하면, 브라우저에 출력하기 전에 session_start()를 호출해야 합니다.
Note: ob_gzhandler()보다 zlib.output_compression을 권장합니다.