Manual do PHP
Anterior |  | Próxima

# session_start

(PHP 4 )

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.

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

Anterior | Principal | Próxima
session_set_save_handler | Acima | session_unregister