Bento Evaldo Junior - Desenvolvimento web com PHP e MySQL стр 12.

Шрифт
Фон

vários conceitos da programação para web usando PHP.

Agora dá até para brincar um pouco com o visual da aplicação usando umas

linhas de CSS. O meu ficou assim:

Figura 4.6: A lista usando um pouco de CSS

Se quiser pegar este CSS, basta baixar aqui: https://gist.github.com/InFog/

6860949

Agora faça duas experiências: abra outro navegador e acesse o endereço da lista

de tarefas em http://localhost/tarefas/tarefas.php, o que acontece? As tarefas apare-

cem? Não? Mas elas não estão na sessão?

40

Casa do Código

Capítulo 4. Entrada de dados com formulário

Como funcionam as sessões?

Se colocamos os dados na sessão, por que eles não aparecem quando

usamos outro navegador?

Para o PHP saber qual usuário é o dono de uma sessão, ele guarda

algumas informações nos Cookies do navegador. Na verdade, a infor-

mação mais importante fica em um cookie chamado PHPSESSID, que

guarda um código único de identificação da sessão daquele usuário que

está acessando a aplicação PHP.

Nós também podemos usar os Cookies para guardar informações que

serão mantidas entre as requisições. Para isso, basta usar uma outra super

global do PHP chamada $_COOKIE. Esta super global também é um

array, assim como a $_SESSION.

A outra experiência é atualizar a página após cadastrar uma tarefa. Faça isso

usando F5 ou outra opção de atualização do navegador. O que acontece? A última

tarefa cadastrada se repete! E continua se repetindo após as atualizações da página!

Veremos mais para frente como resolver estes dois problemas.

4.6

Resumo

Neste capítulo iniciamos o desenvolvimento de uma lista de tarefas. Ela ainda é bem

simples e contém poucos dados, mas já estamos trabalhando com formulários e en-

trada de dados na web utilizando a super global $_GET do PHP e também estamos

manipulando as sessões utilizado a super global $_SESSION.

Super globais são variáveis do PHP que estão disponíveis em qualquer ponto da

aplicação. No caso das super globais $_GET e $_SESSION, os valores são guardados

em arrays.

Importante: sempre que quiser usar sessões será necessário usar a função

session_start(), sem isso a sessão simplesmente não funciona. Fica a dica :D

4.7

Desafios

Muito bem, é hora de alguns desafios:

Usando os mesmos conceitos que vimos até agora, monte uma lista de contatos

na qual devem ser cadastrados o nome, o telefone e o e-mail de cada contato.

41

4.7. Desafios

Casa do Código

Continue usando as sessões para manter os dados.

Crie uma cópia do projeto até agora (pois vamos continuar nos próximos ca-

pítulos) e altere para usar a super global $_COOKIE em vez de usar as sessões.

Para adicionar um Cookie use a função setcookie() que recebe

o nome

do cookie e um texto com seu valor. Para pegar um cookie já definido use a

superglobal $_COOKIE.

Depois de alterar a aplicação para usar cookies no lugar de sessões, tente abrir

os cookies nas opções do navegador e veja se seus dados aparecem lá.

42

Capítulo 5

Tratamento de diferentes campos de

formulários

No capítulo anterior, construímos a base para a nossa lista de tarefas. Agora vamos

adicionar mais informações e funcionalidades ao projeto.

Antes de começar a adicionar mais informações e funcionalidade podemos parar

para analisar um pouco nosso cenário atual e então decidir se podemos continuar

com ele como está ou se podemos fazer algo para melhorar.

Esta pode ser uma etapa importante no desenvolvimento de uma aplicação, pois

pode tornar o trabalho à frente mais simples ou mais complicado. Às vezes é melhor

alterar a base da aplicação para poder evoluir de forma mais eficiente do que insistir

em um código não muito bom. Não se preocupe se não conseguir fazer isso logo no

começo, pois a experiência também ajuda bastante neste tipo de decisão.

5.1. Organizando o código em arquivos separados

Casa do Código

5.1

Organizando o código em arquivos separados

O que temos até o momento é uma lista de tarefas que tem apenas o nome da ta-

refa e só permite adicionar novas tarefas. Tudo isso foi feito em apenas um arquivo

que contém um pouco de HTML e um pouco de PHP. Podemos continuar com esta

estrutura, mas com o tempo o arquivo vai crescer e pode ficar complicado de ler e

entender um arquivo muito grande e dividido em mais de uma linguagem. Por isso,

aqui entra uma decisão importante, vamos separar nossa aplicação em dois arqui-

vos, um deles fará o processamento de entrada de dados e manipulação da sessão e

o outro irá exibir o formulário de cadastro de tarefas e a lista das tarefas cadastradas.

Não adicionaremos código novo, vamos apenas separar o código atual em dois

arquivos um arquivo será o tarefas.php com este conteúdo:

<?php

session_start();

if (isset($_GET['nome'])) {

$_SESSION['lista_tarefas'][] = $_GET['nome'];

}

if (isset($_SESSION['lista_tarefas'])) {

$lista_tarefas = $_SESSION['lista_tarefas'];

} else {

$lista_tarefas = array();

}

include "template.php";

Perceba que apenas juntamos os trechos de PHP que antes estavam separados

em apenas um arquivo que contém somente código PHP. Outro detalhe importante

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке