Forum und email

session_start

(PHP 4, PHP 5)

session_start — Inicia dados de sessão

Descrição

bool session_start ( void )

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.

Example#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.

Example#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().