(PHP 4, PHP 5)
session_start — Inicia dados de sessão
session_start() cria uma sessão (ou resume a sessão atual baseada numa id de sessão sendo passada via uma variável GET ou um cookie).
Esta função sempre retorna TRUE
.
Nota:
Se você está usando sessões baseadas em cookie, você deve chamar session_start() antes de qualquer coisa ser exibida para o navegador.
Exemplo #1 Um exemplo de seção: page1.php
<?php
// page1.php
session_start();
echo 'Bem vindo a pagina #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// Funciona se o cookie de seção foi aceito
echo '<br /><a href="page2.php">page 2</a>';
// Ou talves passando o ID da seção se necessário
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>
Após ver page1.php, a segunda pagina
page2.php irá magicamente conter os dados da seção.
Leia Uso de seções
para informações sobre propagando
ids de seções já que, por exemplo, explica tudo sobre a constante
SID
.
Exemplo #2 Um exemplo de seção: page2.php
<?php
// page2.php
session_start();
echo 'Bem vindo a pagina #2<br />';
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
// Você pode querer usar o SID aqui, como fissemos em page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>
Se você quiser usar uma seção com nomes, você deve usar session_name() antes de session_start().
session_start() irá registrar um handler de saída interno para URL reescrevendo quando trans-sid está habilitada. Se um usuário utiliza ob_gzhandler ou ob_start(), a ordem do handler de exibição é importante para a exibição apropriada. Por exemplo, usuário deve registrar ob_gzhandler antes da sessão começar.
Nota: Uso de zlib.output_compression é mais recomendado do que ob_gzhandler
Nota:
Apartir do PHP 4.3.3, usar session_start() quando a seção já tiver sido iniciada irá resultar em um erro de nível.
E_NOTICE
. Também, o segundo início de seção será simplesmente ignorado.
Veja também $_SESSION, session.auto_start, e session_id().