PHP.nl

session_start

session_start

Start new or resume existing session

bool **session_start** array $options
creates a session or resumes the

current one based on a session identifier passed via a GET or POST request, or passed via a cookie. session_start

When is called or when a session auto starts, PHP will call the open and read session save handlers. These will either be a built-in save handler provided by default or by PHP extensions (such as SQLite or Memcached); or can be custom handler as defined by . The read callback will retrieve any existing session data (stored in a special serialized format) and will be unserialized and used to automatically populate the $_SESSION superglobal when the read callback returns the saved session data back to PHP session handling. session_start``session_set_save_handler

To use a named session, call before calling . session_name``session_start

When is enabled, the function will register an internal output handler for URL rewriting. session.use_trans_sidsession_start

If a user uses or similar with , the function order is important for proper output. For example, must be registered before starting the session. ob_gzhandler``ob_start``ob_gzhandler

options If provided, this is an associative array of options that will override the currently set . The keys should not include the prefix. session configuration directivessession.

  In addition to the normal set of configuration directives, a
   option may also be provided. If set to
  true, this will result in the session being closed immediately after
  being read, thereby avoiding unnecessary locking if the session data
  won't be changed.
 `read_and_close`

This function returns true if a session was successfully started, otherwise false.

A basic session example

<?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 , the second page
 will magically contain the session
data.  Read the 
for information on  as it, for example, explains what the constant
 is all about.

session referencepropagating session idsSID

<?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>';
?>

Providing options to session_start

Voorbeeld: Overriding the cookie lifetime

<?php
// This sends a persistent cookie that lasts a day.
session_start([
    'cookie_lifetime' => 86400,
]);
?>

Voorbeeld: Reading the session and closing it

<?php
// If we know we don't need to change anything in the
// session, we can just read and close rightaway to avoid
// locking the session file and blocking other pages
session_start([
    'cookie_lifetime' => 86400,
    'read_and_close'  => true,
]);

Opmerking: > To use cookie-based sessions, must be called before outputting anything to the browser. session_start

Opmerking: > Use of is recommended instead of zlib.output_compressionob_gzhandler

Opmerking: > This function sends out several HTTP headers depending on the configuration. See to customize these headers. session_cache_limiter

$_SESSIONsession.auto_startsession_id