PHP Manual
Prev |  | Next

# session_start

(PHP 4, PHP 5)

session_start -- Initialize session data

## Description

bool session_start ( void )

session_start() creates a session or resumes the current one based on the current session id that's being passed via a request, such as GET, POST, or a cookie.

This function always returns `TRUE`.

> Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

Example 1. A session example: `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>'; ?>`

After viewing `page1.php`, the second page `page2.php` will magically contain the session data. Read the session reference for information on propagating session ids as it, for example, explains what the constant `SID` is all about.

Example 2. A session example: `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>'; ?>`

If you want to use a named session, you must call session_name() before calling session_start().

session_start() will register internal output handler for URL rewriting when trans-sid is enabled. If a user uses ob_gzhandler or like with ob_start(), the order of output handler is important for proper output. For example, user must register ob_gzhandler before session start.

> Note: Use of zlib.output_compression is recommended rather than ob_gzhandler()

> Note: As of PHP 4.3.3, calling session_start() while the session has already been started will result in an error of level `E_NOTICE`. Also, the second session start will simply be ignored.

See also $_SESSION, session.auto_start, and session_id().

Prev | Home | Next
session_set_save_handler | Up | session_unregister