diff --git a/3-Basico/16-Session.md b/3-Basico/16-Session.md new file mode 100644 index 0000000..eeb1891 --- /dev/null +++ b/3-Basico/16-Session.md @@ -0,0 +1,77 @@ +# 3.16 Session + +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. + +- 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. + + +## Vamos criar a nossa primeira sessão: função session_start() + +A função session_start() permite iniciar uma nova sessão ou até resumir (continuar) uma sessão que já existe. + + +### Iniciar uma sessão + +```php + + + +``` + +O retorno da função + +- TRUE sessão iniciada com sucesso. +- FALSE sessão deu falha em iniciar. + +## Exemplo de como trabalhar com sessão + +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. + +### Declarando a sessão - $_SESSION. + +```php + +Clique para ir à página 02'; + +?> + +``` + +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. + +A seguir está o código do arquivo pagina2.php: + +```php + +'; +echo "Estamos na aula de " . $_SESSION['aula'] . "
"; + +echo "E agora são " . date('H:i:s', $_SESSION['hora']) . " horas"; + +?> + +``` + +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. \ No newline at end of file diff --git a/3-Basico/exemplos/pagina01.php b/3-Basico/exemplos/pagina01.php new file mode 100644 index 0000000..a9faabd --- /dev/null +++ b/3-Basico/exemplos/pagina01.php @@ -0,0 +1,15 @@ + + +Clique para ir à página 02 \ No newline at end of file diff --git a/3-Basico/exemplos/pagina02.php b/3-Basico/exemplos/pagina02.php new file mode 100644 index 0000000..34616f6 --- /dev/null +++ b/3-Basico/exemplos/pagina02.php @@ -0,0 +1,13 @@ +'; +echo "Estamos na aula de " . $_SESSION['aula'] . "
"; + +echo "E agora são " . date('H:i:s', $_SESSION['hora']) . " horas"; + +?> \ No newline at end of file