Sessões em PHP é um recurso que permite que você salve valores (variáveis) para serem usados ao longo da visita do usuário.

Valores salvos na sessão podem ser usados em qualquer parte do script, mesmo em outras páginas do site.

São variáveis que permanecem setadas até o visitante fechar o browser ou a sessão ser destruída.

Você precisa iniciar a sessão antes de poder setar ou pegar valores dela. Não há limite de valores salvos na sessão. A sessão é pessoal de cada visitante.

Quando um visitante acessa o site, é gerado um cookie no computador dele informando um id único de sessão e o PHP usa esse identificador pra ‘organizar’ as sessões entre os visitantes do seu site. Mas esse cookie tem validade apenas enquanto o browser estiver aberto.

Você precisa iniciar a sessão antes de iniciar o output, ou seja, antes de retornar qualquer coisa para o HTML. Antes de dar qualquer echo ou antes de inserir qualquer HTML fora de blocos PHP.

Geralmente o início da sessão é uma das primeiras coisas no começo de todo site.

A sessão precisa ser iniciada em cada página que você for usar ou definir um valor dela, salvo arquivos que vieram por include, mas é preciso ter iniciado a sessão uma vez antes do include.

Para abrir a sessão é só usar esse comando no PHP:

session_start(); //inicia a sessão

Depois de iniciada a sessão você pode definir valores dentro dela dessa forma:

$_SESSION['usuario'] = 'Benedito';

E quando você precisar exibir o valor salvo na sessão (provavelmente em outras páginas), é só fazer assim:

echo $_SESSION['usuario']; //Resultado: Benedito

Você pode salvar quantos valores quiser, pode redefinir os valores e usa-los em echos, argumentos de funções e da forma que preferir.

Para deletar uma variável específica da sessão você usa o unset():

unset($_SESSION['usuario']);  // Deleta uma variável da sessão

Você também pode destruir toda a sessão de uma só vez, eliminando todas as variáveis salvas nela:

session_destroy(); // Destrói toda sessão

Com isso você tem total controle das sessões no seu site e pode salvar, por exemplo, o nome de usuário depois que ele fez o login e salvar outra variável informando que o usuário está logado.

Esta é uma prática muito comum em sistemas de autenticação de usuário.

No lugar do session_start() podemos utilizar arquivos externos para chamar constantes de banco de dados, configurações de região, tratamento de erros, enfim, uma gama de recursos para serem utilizados em seu site ou sistema:

require_once("arquivoConfig.php");

Em cada sessão estabelecida entre o site e o usuário, é gerado um código que chamamos de ID de sessão. Com este código é possível armazenar informações de navegação do usuário.

O código é único e não se repete; é gerado pelo servidor e é renovado a cada nova sessão:

echo session_id(); // exibe o ID de sessão
$idSessao = session_id('id_da_sessao'); // recupera o ID de sessão

Existem várias funções para trabalharmos com sessões. Podemos destacar:

session_abort — Descarta as alterações no array da sessão e encerra a sessão
session_cache_expire — Retorna o prazo do cache atual
session_cache_limiter — Obtém e/ou define o limitador do cache atual
session_commit — Sinônimo de session_write_close
session_create_id — Create new session id
session_decode — Decodifica dados de sessão de uma sessão codificada em formato string
session_destroy — Destrói todos os dados registrados em uma sessão
session_encode — Codifica os dados atuais da sessão como uma sessão codificada em formato string
session_gc — Perform session data garbage collection
session_get_cookie_params — Obtém os parâmetros do cookie da sessão
session_id — Obtém e/ou define o id de sessão atual
session_is_registered — Verifica se uma variável global está registrada numa sessão
session_module_name — Obtém e/ou define o módulo da sessão atual
session_name — Obtém e/ou define o nome da sessão atual
session_regenerate_id — Atualiza o id da sessão atual com um novo id gerado
session_register_shutdown — Função de finalização da sessão
session_register — Registra uma ou mais variáveis globais na sessão atual
session_reset— Reinicializa um array de sessão com os valores originais
session_save_path — Obtém e/ou define o caminho para armazenamento da sessão atual
session_set_cookie_params — Define os parâmetros do cookie de sessão
session_set_save_handler — Define funções de armazenamento de sessão à nível de usuário
session_start — Inicia uma nova sessão ou resume uma sessão existente
session_status — Retorna o status atual da sessão
session_unregister — Desregistra uma variável global da sessão atual
session_unset — Libera todas as variáveis de sessão
session_write_close — Guarda os dados de sessão e fecha a sessão

Fonte: PHP.net (https://www.php.net/manual/pt_BR/book.session.php)

APRENDA A PROGRAMAR EM PHP ORIENTADO A OBJETOS E IMPULSIONE SUA CARREIRA COMO PROGRAMADOR!

O curso de PHP Orientado a Objetos apresenta o passo a passo de como estruturar um sistema do zero com PHP utilizando o padrão de desenvolvimento MVC (Model, View e Controller).

Conheça o curso online que já AJUDOU MILHARES DE PESSOAS a aprender a programar e desenvolver seus próprios projetos do ZERO. CLIQUE NA IMAGEM ABAIXO E CONFIRA!

php orientado a objetos

Link do curso: https://go.hotmart.com/A18082772K

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags: | |

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *