session_start

(PHP 4, PHP 5)

session_start -- Inicjalizuj dane sesji

Opis

bool session_start ( void )

session_start() tworzy sesję lub wznawia bieżącą na podstawie aktualnego identyfikatora sesji przekazanego przy wywołaniu, poprzez metodę GET, POST lub ciasteczko.

Jeśli chcesz, aby sesja była nazwana, przed wywołaniem session_start() musisz wywołać session_name().

Ta funkcja zawsze zwraca wartość TRUE.

Notatka: Jeśli używasz sesji opartych o ciasteczka, to session_start() musi być wywołane przed wysłaniem jakichkolwiek danych do przeglądarki.

Przykład 1. Przykład sesji: page1.php

<?php
// page1.php

session_start();

echo
'Witaj na stronie #1';

$_SESSION['kolor']     = 'zielony';
$_SESSION['zwierze']   = 'kot';
$_SESSION['czas']      = time();

// Działa jeśli ciasteczko sesyjne zostało zaakceptowane
echo '<br /><a href="page2.php">strona 2</a>';

// Lub może przekaż ciasteczko sesyjne, jeśli to konieczne
echo '<br /><a href="page2.php?' . SID . '">strona 2</a>';
?>

Po odwiedzeniu strony page1.php, druga strona, page2.php będzie magicznie zawierała dane sesji. W rozdziale Sesje znajduje się więcej informacji na temat propagowania identyfikatora sesji, gdzie można znaleźć na przykład wytłumaczenie co zawiera stała SID.

Przykład 2. Przykład sesji: page2.php

<?php
// page2.php

session_start();

echo
'Witaj na stronie #2<br />';

echo
$_SESSION['kolor']; // zielony
echo $_SESSION['zwierze'];   // not
echo date('Y m d H:i:s', $_SESSION['time']);

// Tu można wstawić SID, podobnie jak to był na page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>

W celu stworzenia nazwanej sesji, niezbędne jest wywołanie funkcji session_name() przed wywołaniem session_start().

session_start() zarejestruje wewnętrzny uchwyt obsługi wyjścia dla przepisywania URLi jeśli włączona jest opcja trans-sid. Jeśli użytkownik używa ob_gzhandler lub podobne z ob_start(), kolejność uchwytów obsługi wyjścia jest ważna dla prawidłowego wyjścia. Na przykład, użytkownik musi zarejestrować ob_gzhandler przed rozpoczęciem sesji.

Notatka: Wskazane jest użycie zlib.output_compression zamiast ob_gzhandler

Notatka: Od PHP 4.3.3, wywołanie session_start() podczas gdy sesja już została rozpoczęta, spowoduje błąd poziomu E_NOTICE. Drugie rozpoczęcie sesji zostanie zignorowane.

Patrz także: $_SESSION, session.auto_start i session_id().

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:36