neste tutorial você vai aprender como guardar certos dados no servidor em uma base temporária usando PHP sessão.
o que é uma sessão
embora você possa armazenar dados usando cookies, mas ele tem alguns problemas de segurança. Uma vez que os cookies são armazenados no computador do Usuário, é possível que um atacante modifique facilmente um conteúdo de cookie para inserir dados potencialmente prejudiciais em sua aplicação que possam quebrar sua aplicação.,
também cada vez que o navegador pede uma URL para o servidor, todos os dados de cookie para um site é automaticamente enviado para o servidor dentro da solicitação. Significa que se você tiver armazenado 5 cookies no sistema do Usuário, cada um com 4KB em tamanho, o navegador precisa fazer upload de 20KB de dados cada vez que o usuário vê uma página, o que pode afetar o desempenho do seu site.
Você pode resolver ambos os problemas usando a sessão PHP. Uma sessão PHP armazena dados no servidor ao invés do computador do Usuário., Em um ambiente de Sessão, cada usuário é identificado através de um número único chamado identificador de sessão ou SID. Este ID de sessão único é usado para ligar cada usuário com suas próprias informações no servidor, como emails, posts, etc.
Tip: os IDs de sessão são gerados aleatoriamente pelo motor PHP, o que é quase impossível de adivinhar. Além disso, como os dados de sessão são armazenados no servidor, ele não tem que ser enviado com cada pedido do navegador.,
iniciar uma sessão de PHP
Antes de poder guardar qualquer informação nas variáveis de sessão, deverá iniciar a sessão primeiro. Para iniciar uma nova sessão, basta chamar a função PHP session_start()
. Ele irá criar uma nova sessão e gerar um ID de sessão única para o usuário.
o código PHP no exemplo abaixo simplesmente inicia uma nova sessão.,
Exemplo
Download
<?php// Starting sessionsession_start();?>
session_start()
função verifica se a sessão já existe procurando a presença de um ID de sessão. Se ele encontrar uma, ou seja, se a sessão já está iniciada, ele configura as variáveis de sessão e se não, ele inicia uma nova sessão, criando um novo ID de sessão.
nota: deve chamar a função session_start()
no início da página., antes de qualquer saída gerada pelo seu script no navegador, muito como você faz ao definir os cookies com função.
armazenar e aceder aos dados da sessão
Pode armazenar todos os dados da sua sessão como pares de valores-chave no$_SESSION
matriz superglobal. Os dados armazenados podem ser acessados durante a vida de uma sessão. Considere o seguinte script, que cria uma nova sessão e registra duas variáveis de sessão.,
Para acessar os dados de uma sessão estabelecemos em nosso exemplo anterior, a partir de qualquer outra página no mesmo domínio web — basta recriar a sessão chamando session_start()
e, em seguida, passar a tecla correspondente ao $_SESSION
array associativo.
o código PHP no exemplo acima produz a seguinte saída.
Nota: para aceder aos dados da sessão na mesma página não há necessidade de recriar a sessão, uma vez que já foi iniciada no topo da página.,
Destruir uma Sessão
Se você deseja remover certos dados de sessão, basta retirar a correspondente tecla de $_SESSION
array associativo, como mostrado no exemplo a seguir:
no Entanto, para destruir uma sessão completamente, basta ligar para o session_destroy()
função. Esta função não precisa de nenhum argumento e uma única chamada destrói todos os dados da sessão.,
Exemplo
Download
<?php// Starting sessionsession_start(); // Destroying sessionsession_destroy();?>
Nota: Antes de destruir uma sessão com o session_destroy()
função, você precisa primeiro recriar o ambiente de sessão, se não estiver já existe usando o session_start()
função, de modo que não é algo para se destruir.
cada sessão do PHP tem um valor — limite — uma duração, medida em segundos-que determina quanto tempo uma sessão deve permanecer viva na ausência de qualquer actividade do utilizador., Poderá ajustar esta duração-limite alterando o valor de session.gc_maxlifetime
variável no ficheiro de configuração do PHP (php.ini
).