<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.basic.session.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'book.session.php',
    1 => 'Sess&otilde;es',
    2 => 'Manipula&ccedil;&atilde;o de Sess&atilde;o',
  ),
  'up' => 
  array (
    0 => 'refs.basic.session.php',
    1 => 'Extens&otilde;es de Sess&atilde;o',
  ),
  'prev' => 
  array (
    0 => 'refs.basic.session.php',
    1 => 'Extens&otilde;es de Sess&atilde;o',
  ),
  'next' => 
  array (
    0 => 'session.setup.php',
    1 => 'Instala&ccedil;&atilde;o/Configura&ccedil;&atilde;o',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/session/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.session.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.session" class="book">
 
 <h1 class="title">Manipulação de Sessão</h1>
 

 
 <div id="intro.session" class="preface">
  <h1 class="title">Introdução</h1>
  <p class="para">
   O suporte a sessões no PHP consiste em uma maneira de preservar certos dados
   atráves dos acessos subsequentes.
  </p>
  <p class="para">
   Um visitante acessando o seu web site ganha um identificador único,
   o assim chamado id de sessão. Ele é salvo em um cookie do lado do
   usuário ou propagado via URL.
  </p>
  <p class="para">
   O suporte à sessão permite armazenar dados entre as requisições no
   array super global <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>. Quando um visitante acessar
   seu site, o PHP vai conferir automaticamente (se <a href="session.configuration.php#ini.session.auto-start" class="link">session.auto_start</a>
   estiver definido como 1) ou quando você pedir (explicitamente atráves de
   <span class="function"><a href="function.session-start.php" class="function">session_start()</a></span>) se um id de sessão específico
   foi enviado com a requisição. Se este for o caso, o ambiente
   anteriormente salvo é recriado.
  </p>
  <div class="caution"><strong class="caution">Cuidado</strong>
   <p class="para">
    Se você ativar <a href="session.configuration.php#ini.session.auto-start" class="link">
    session.auto_start</a>, então a única maneira de colocar objetos
    em suas sessões é carregando a definição da classe usando
    <a href="ini.core.php#ini.auto-prepend-file" class="link">auto_prepend_file</a>,
    onde você pode carregar a definição da classe, caso contrário você terá que
    usar <span class="function"><a href="function.serialize.php" class="function">serialize()</a></span> no objeto,
    e <span class="function"><a href="function.unserialize.php" class="function">unserialize()</a></span> nele
    depois.
   </p>
  </div>
  <p class="para">
   <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var> (e todas as variávels registradas) são serializadas
   internamente pelo PHP usando o manipulador de serialização especificado pela
   configuração INI <a href="session.configuration.php#ini.session.serialize-handler" class="link">session.serialize_handler</a>
   depois que a requisição terminar.  Variáveis registradas que estejam indefinidas são
   marcadas como não definidas.  Nos acessos subsequentes, elas não são definidas
   pelo módulo da sessão, a menos que o usuário as definam posteriormente.
  </p>
  <div class="warning"><strong class="warning">Aviso</strong>
   <p class="para">
    Porque as variáveis de sessão são serializadas, variáveis <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> não podem
    ser armazenadas em sessão.
   </p>
   <p class="para">
    Manipuladores de serialização (<code class="literal">php</code>
    e <code class="literal">php_binary</code>) herdam as limitações de
    register_globals. Portanto, índices numéricos ou strings contendo
    caracteres especiais (<code class="literal">|</code>
    e <code class="literal">!</code>) não podem ser usados. Se usados, resultará em
    erros na finalização do script. <code class="literal">php_serialize</code>
    não possui tais limitações.
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="para">
    Por favor, note que ao trabalhar com sessões, um registro de uma sessão
    não é criado até que uma variável tenha sindo registrada pela adição de uma nova
    chave ao array super global <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>. Isto
    continua valendo mesmo se uma sessão tenha sido iniciada usando a função
    <span class="function"><a href="function.session-start.php" class="function">session_start()</a></span>.
   </p>
  </p></blockquote>
 </div>
 

 







 






 







 







 






 







 




 




 




 




<ul class="chunklist chunklist_book"><li><a href="session.setup.php">Instala&ccedil;&atilde;o/Configura&ccedil;&atilde;o</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="session.requirements.php">Depend&ecirc;ncias</a></li><li><a href="session.installation.php">Instala&ccedil;&atilde;o</a></li><li><a href="session.configuration.php">Configura&ccedil;&otilde;es em Execu&ccedil;&atilde;o</a></li></ul></li><li><a href="session.constants.php">Constantes predefinidas</a></li><li><a href="session.examples.php">Exemplos</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="session.examples.basic.php">Uso b&aacute;sico</a></li><li><a href="session.idpassing.php">Passando o ID de sess&atilde;o</a></li><li><a href="session.customhandler.php">Manipuladores de Sess&atilde;o Personalizados</a></li></ul></li><li><a href="session.upload-progress.php">Progresso de Upload em Sess&atilde;o</a></li><li><a href="session.security.php">Sess&otilde;es e Seguran&ccedil;a</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="features.session.security.management.php">Gerencimento b&aacute;sico de sess&atilde;o</a></li><li><a href="session.security.ini.php">Protegendo as configura&ccedil;&otilde;es INI relacionadas &agrave; sess&atilde;o</a></li></ul></li><li><a href="ref.session.php">Fun&ccedil;&otilde;es para Sess&atilde;o</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.session-abort.php">session_abort</a> — Descarta as altera&ccedil;&otilde;es no array da sess&atilde;o e encerra a sess&atilde;o</li><li><a href="function.session-cache-expire.php">session_cache_expire</a> — Obter e/ou definir a expira&ccedil;&atilde;o do cache atual</li><li><a href="function.session-cache-limiter.php">session_cache_limiter</a> — Obt&eacute;m e/ou define o limitador do cache atual</li><li><a href="function.session-commit.php">session_commit</a> — Sin&ocirc;nimo de session_write_close</li><li><a href="function.session-create-id.php">session_create_id</a> — Cria novo ID de sess&atilde;o</li><li><a href="function.session-decode.php">session_decode</a> — Decodifica dados de sess&atilde;o de uma sess&atilde;o codificada em formato string</li><li><a href="function.session-destroy.php">session_destroy</a> — Destr&oacute;i todos os dados registrados em uma sess&atilde;o</li><li><a href="function.session-encode.php">session_encode</a> — Codifica os dados atuais da sess&atilde;o como uma sess&atilde;o codificada em formato string</li><li><a href="function.session-gc.php">session_gc</a> — Executa a coleta de lixo de dados da sess&atilde;o</li><li><a href="function.session-get-cookie-params.php">session_get_cookie_params</a> — Obt&eacute;m os par&acirc;metros do cookie da sess&atilde;o</li><li><a href="function.session-id.php">session_id</a> — Obt&eacute;m e/ou define o id de sess&atilde;o atual</li><li><a href="function.session-module-name.php">session_module_name</a> — Obt&eacute;m e/ou define o m&oacute;dulo da sess&atilde;o atual</li><li><a href="function.session-name.php">session_name</a> — Obt&eacute;m e/ou define o nome da sess&atilde;o atual</li><li><a href="function.session-regenerate-id.php">session_regenerate_id</a> — Atualiza o id da sess&atilde;o atual com um novo id gerado</li><li><a href="function.session-register-shutdown.php">session_register_shutdown</a> — Fun&ccedil;&atilde;o de finaliza&ccedil;&atilde;o da sess&atilde;o</li><li><a href="function.session-reset.php">session_reset</a> — Reinicializa um array de sess&atilde;o com os valores originais</li><li><a href="function.session-save-path.php">session_save_path</a> — Obt&eacute;m e/ou define o caminho para armazenamento da sess&atilde;o atual</li><li><a href="function.session-set-cookie-params.php">session_set_cookie_params</a> — Define os par&acirc;metros do cookie de sess&atilde;o</li><li><a href="function.session-set-save-handler.php">session_set_save_handler</a> — Define fun&ccedil;&otilde;es de armazenamento de sess&atilde;o &agrave; n&iacute;vel de usu&aacute;rio</li><li><a href="function.session-start.php">session_start</a> — Inicia uma nova sess&atilde;o ou continua uma sess&atilde;o existente</li><li><a href="function.session-status.php">session_status</a> — Retorna o status atual da sess&atilde;o</li><li><a href="function.session-unset.php">session_unset</a> — Libera todas as vari&aacute;veis de sess&atilde;o</li><li><a href="function.session-write-close.php">session_write_close</a> — Guarda os dados de sess&atilde;o e fecha a sess&atilde;o</li></ul></li><li><a href="class.sessionhandler.php">SessionHandler</a> — A classe SessionHandler<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionhandler.close.php">SessionHandler::close</a> — Fecha a sess&atilde;o</li><li><a href="sessionhandler.create-sid.php">SessionHandler::create_sid</a> — Retorna um novo ID de sess&atilde;o</li><li><a href="sessionhandler.destroy.php">SessionHandler::destroy</a> — Destr&oacute;i uma sess&atilde;o</li><li><a href="sessionhandler.gc.php">SessionHandler::gc</a> — Apaga sess&otilde;es antigas</li><li><a href="sessionhandler.open.php">SessionHandler::open</a> — Inicia uma sess&atilde;o</li><li><a href="sessionhandler.read.php">SessionHandler::read</a> — L&ecirc; os dados de sess&atilde;o</li><li><a href="sessionhandler.write.php">SessionHandler::write</a> — Escreve os dados de sess&atilde;o</li></ul></li><li><a href="class.sessionhandlerinterface.php">SessionHandlerInterface</a> — A classe SessionHandlerInterface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionhandlerinterface.close.php">SessionHandlerInterface::close</a> — Fecha a sess&atilde;o</li><li><a href="sessionhandlerinterface.destroy.php">SessionHandlerInterface::destroy</a> — Destr&oacute;i uma sess&atilde;o</li><li><a href="sessionhandlerinterface.gc.php">SessionHandlerInterface::gc</a> — Remove sess&otilde;es antigas</li><li><a href="sessionhandlerinterface.open.php">SessionHandlerInterface::open</a> — Inicializa uma sess&atilde;o</li><li><a href="sessionhandlerinterface.read.php">SessionHandlerInterface::read</a> — L&ecirc; os dados de sess&atilde;o</li><li><a href="sessionhandlerinterface.write.php">SessionHandlerInterface::write</a> — Escreve os dados de sess&atilde;o</li></ul></li><li><a href="class.sessionidinterface.php">SessionIdInterface</a> — The SessionIdInterface interface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionidinterface.create-sid.php">SessionIdInterface::create_sid</a> — Cria um ID de sess&atilde;o.</li></ul></li><li><a href="class.sessionupdatetimestamphandlerinterface.php">SessionUpdateTimestampHandlerInterface</a> — The SessionUpdateTimestampHandlerInterface interface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionupdatetimestamphandlerinterface.updatetimestamp.php">SessionUpdateTimestampHandlerInterface::updateTimestamp</a> — Atualiza o timestamp</li><li><a href="sessionupdatetimestamphandlerinterface.validateid.php">SessionUpdateTimestampHandlerInterface::validateId</a> — Valida o ID</li></ul></li></ul></div><?php manual_footer($setup); ?>