Introdução às sessões PHP

As sessões são usadas em aplicativos da web. O uso da sessão no PHP é disponibilizar os dados nas diferentes páginas de um site. Os dados ou informações como nome, endereço etc. são transportados de uma página para outra sessão do usuário. Essas informações da sessão são usadas para fins de autenticação. Como os cookies são armazenados no navegador do cliente, os dados da sessão são armazenados no servidor em um diretório temporário.

Para iniciar uma sessão, usamos a função session_start (). E quando a sessão começa, dura 24 minutos por padrão, ou seja, 1440 em segundos. Uma sessão é identificada por identificadores de sessão ou SID, que é um número exclusivo para identificar cada usuário.

Como criar sessões?

session_start () é a função usada para iniciar uma sessão. Se já existir uma sessão, ela usará a mesma sessão, caso contrário, criará uma nova sessão. Esta função é sempre chamada no início de cada página. Depois que a função é chamada, podemos começar a armazenar valores nas variáveis ​​da sessão, mas não antes disso. O PHP armazena informações do usuário em uma variável super global $ _SESSION.

Para saber qual é o caminho do diretório em que as sessões são armazenadas, temos uma diretiva chamada session_save_path no arquivo php.ini para armazenar o caminho. Além disso, o session_id imprime o ID associado à sessão atual. É um número único gerado aleatoriamente.

Vejamos o programa abaixo.

Neste programa, quando você imprime essa variável de sessão usando o print_r ($ _ SESSION), todos os dados da sessão definidos são impressos. A saída está na forma de uma matriz associativa de pares de valores-chave.

Neste exemplo, primeiro iniciamos a sessão usando a função session_start (), inicializamos variáveis ​​e atribuímos a variáveis ​​de sessão usando _SESSION ('name') = $ name, imprima a matriz super global. Também imprimimos o valor exclusivo do ID da sessão também com a função session_id ().

Exemplo 1

Código:

<_?php
// example to start session
//beginning a session
// no arguments are passed to this function
session_start();
//initializing variables
$name = 'Neha';$age = 28;
//storing values in session
$_SESSION('name') = $name;
$_SESSION('age') = $age;
// printing session valuesprint_r($_SESSION);
//using the session id
echo '
The session_id is ';
echo session_id();
?>

Resultado :

Como excluir sessões?

Exemplo 2

A função Session_destroy () é usada para destruir uma sessão. Esta função destrói a sessão completa. Para desarmar uma única variável de sessão, podemos usar a função unset ().

Neste exemplo, imprimimos os dados da sessão primeiro para saber o que a sessão contém e destruímos as variáveis ​​de sessão já definidas usando a função unset (). Aqui, destruímos as variáveis ​​de sessão definidas, como o nome e a idade. E após a destruição, imprimimos a sessão novamente e vemos que ela retorna uma matriz vazia, o que significa que as variáveis ​​foram desmarcadas e a sessão não existe mais.

Código

<_?php
//example to unset session variables
//starting a session
session_start();
print_r($_SESSION);
//before destroying the session
//printing the session
unset($_SESSION('name'));
unset($_SESSION('age'));
echo 'Session destroyed';
//after destroying the session
//printing the session
print_r($_SESSION);
?>

Resultado :

No exemplo a seguir, estamos destruindo uma sessão.

Para destruir a sessão, primeiro verificaremos o valor da sessão e depois destruiremos a sessão. e imprima novamente a sessão, que será uma matriz vazia, pois a sessão não existe.

Exemplo 3

Código:

<_?php
//example to destroy session
//starting a session
session_start();
//to completely destroy a session
session_destroy();
echo 'Session destroyed';
//after destroying the session
//printing the session
echo '
';
print_r($_SESSION);
?>

Resultado :

Aqui, no programa, vemos que, na primeira linha, iniciamos a sessão e inicializamos a variável count como 0. Em seguida, verificamos se uma variável de sessão está configurada ou não. aqui verificamos uma condição se um nome de sessão page_views está definido, se sim, aumente o valor da variável de contagem em um e, caso contrário, inicialize o valor de contagem em um.

Exemplo 4

Código:

<_?php
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>
<_?php echo '
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>

Resultado:

Como ativar a sessão automática em php?

Para ativar as sessões automáticas no php, precisamos fazer uma alteração no arquivo de configuração que é php.ini.

Onde php.ini é um arquivo de configuração padrão

As sessões não são iniciadas automaticamente, para que a sessão funcione automaticamente, precisamos fazer o seguinte, mas, uma vez concluída, a sessão é iniciada automaticamente para todos os arquivos e fecha após o término do tempo padrão.

Portanto, no arquivo php.ini, procuraremos

session.auto_start = 0

e defina o valor como 1 como este

session.auto_start = 1

Isso ajudará o PHP a iniciar sessões automaticamente.

Importância da sessão

  • Como $ _COOKIE, temos $ _SESSION, que é uma variável superglobal e armazenada no servidor.
  • Caso os cookies não sejam suportados pelo navegador do usuário, podemos usar a sessão. Cada sessão possui um ID exclusivo, conforme a visita do usuário no site.
  • Em termos de armazenamento de dados, a sessão armazena mais dados do que um cookie pode armazenar.
  • A sessão é usada para transportar informações de uma página para outra.
  • A sessão pode ser usada para obter a contagem de visitantes do site.
  • A sessão também é usada para fins de autenticação.
  • Os IDs de sessão gerados são exclusivos.

Conclusão

Neste artigo, é explicado o que é uma sessão, como a sessão funciona, como criamos a sessão, como excluímos uma sessão específica.

Além disso, é explicado como fazemos com que as sessões funcionem automaticamente, definindo o valor da diretiva session.auto_start () como 1.

Depois, com um exemplo, foi explicado como contar, quantas vezes a página foi visualizada usando sessões. Além disso, é explicado qual é a importância da sessão e como ela é útil para diferentes propósitos.

Artigos recomendados

Este é um guia para sessões em PHP. Aqui discutimos como criar sessões e excluir sessões no PHP com os exemplos fornecidos. Você também pode consultar os seguintes artigos para saber mais -

  1. Encapsulamento em PHP
  2. Constantes mágicas do PHP
  3. Sobrecarga em PHP
  4. Substituindo em PHP
  5. Construtor em PHP
  6. Função Recursiva PHP
  7. Função Recursiva em Python
  8. Função Recursiva em C
  9. Função Recursiva em JavaScript
  10. Como os Cookies funcionam em JavaScript com o Exemplo?