Skip to content

Commit d0e6ccc

Browse files
Adding session description and practical examples
1 parent a9ff8c4 commit d0e6ccc

File tree

3 files changed

+105
-0
lines changed

3 files changed

+105
-0
lines changed

Diff for: 3-Basico/16-Session.md

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# 3.16 Session
2+
3+
Trabalhar com o conceito de sessões permite que um conjunto de dados, possam ser utilizados pelos os usuários durante todo o tempo em que acessa e navega dentro da aplicação web sendo persistidos. Então dessa forma, é possível, por exemplo, verificar se o usuário está logado ou não no site, pegar um conteúdo que está dentro de uma carrinho de compras, ou até controlar permissões de execução do usuário, e muito mais.
4+
5+
- Session é uma variável superglobal, é uma array associativo que basicamente, são estruturas onde cada elemento que esta dentro do array, é identificado por uma chave única.
6+
7+
8+
## Vamos criar a nossa primeira sessão: função session_start()
9+
10+
A função session_start() permite iniciar uma nova sessão ou até resumir (continuar) uma sessão que já existe.
11+
12+
13+
### Iniciar uma sessão
14+
15+
```php
16+
17+
<?php
18+
session_start(); //Uma nova sessão de usuário é iniciada.
19+
?>
20+
21+
```
22+
23+
O retorno da função
24+
25+
- TRUE sessão iniciada com sucesso.
26+
- FALSE sessão deu falha em iniciar.
27+
28+
## Exemplo de como trabalhar com sessão
29+
30+
Aqui nesse exemplo vamos trabalhar com duas páginas php. Na primeira página, vamos iniciar uma sessão e em seguida, passar os valores para as duas variáveis de sessão criadas.
31+
32+
### Declarando a sessão - $_SESSION.
33+
34+
```php
35+
36+
<?php
37+
// Página 1
38+
39+
session_start();
40+
41+
// Exibir um texto na tela do usuário
42+
echo "Esta é a página 01, onde a sessão será criada";
43+
44+
// Vamos criar uma sessão com o nome da variável aula e hora
45+
$_SESSION["aula"] = "PHP";
46+
$_SESSION["hora"] = time();
47+
48+
// Link para a página 02:
49+
echo '<br /><a href="pagina2.php">Clique para ir à página 02</a>';
50+
51+
?>
52+
53+
```
54+
55+
Após carregar a página 01, a sessão é criada e as variáveis de sessão ‘aula’ e ‘hora’ são declaradas e inicializadas. Elas poderão ser acessadas na página 02, clicando-se no link fornecido.
56+
57+
A seguir está o código do arquivo pagina2.php:
58+
59+
```php
60+
61+
<?php
62+
// E esta é a página 02, onde recuperaremos as variáveis de sessão
63+
64+
session_start();
65+
66+
date_default_timezone_set('America/Sao_Paulo');
67+
68+
echo 'Agora estamos na página 02<br />';
69+
echo "Estamos na aula de " . $_SESSION['aula'] . "<br>";
70+
71+
echo "E agora são " . date('H:i:s', $_SESSION['hora']) . " horas";
72+
73+
?>
74+
75+
```
76+
77+
Neste exemplo, a sessão é criada logo que o usuário carrega a página 01. Porém, é muito comum que se deseje criar uma nova sessão apenas quando algum evento específico ocorrer, como o clique em um botão de formulário.

Diff for: 3-Basico/exemplos/pagina01.php

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
// Página 1
3+
4+
session_start();
5+
6+
// Exibir um texto na tela do usuário
7+
echo "Esta é a página 01, onde a sessão será criada";
8+
9+
// Vamos criar uma sessão com o nome da variável aula e hora
10+
$_SESSION["aula"] = "PHP";
11+
$_SESSION["hora"] = time();
12+
13+
?>
14+
15+
<a href="pagina02.php">Clique para ir à página 02</a>

Diff for: 3-Basico/exemplos/pagina02.php

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
// E esta é a página 02, onde recuperaremos as variáveis de sessão
3+
4+
session_start();
5+
6+
date_default_timezone_set('America/Sao_Paulo');
7+
8+
echo 'Agora estamos na página 02<br />';
9+
echo "Estamos na aula de " . $_SESSION['aula'] . "<br>";
10+
11+
echo "E agora são " . date('H:i:s', $_SESSION['hora']) . " horas";
12+
13+
?>

0 commit comments

Comments
 (0)