PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes http://www.jeancarlomendes.com.br PHP - Session - O protocolo HTTP é “stateless” - Em alguns casos é preciso guardar o “estado” entre duas requisições ao servidor PHP – Query Strings - Uma das formas de preservar/transferir dados através de duas requisições é através de Query Strings - Usando esta técnica, os dados são transferidos através da URL do Browser - Isto é feito através de pares nome/valor PHP – Query Strings - http://localhost/myscript.php?firstName=Fr ed&lastName=Bishop - Para acessar o valor: • $firstName = $_GET[“firstName”]; • $lastName = $_GET[“lastName”]; PHP – Cookies - Os dados podem ser “preservados” através - - de cookies; Pode-se armazenar até 4kb de dados Pode-se definir um tempo de vida para o cookie Browsers podem armazenar até 30 cookies por site/dominio Usuário pode desabilitar os cookies PHP – Cookies - Os cookies são enviados do servidor ao browser à partir dos cabeçalhos do HTTP: - Exemplo: PHP – Cookies - Para setar um cookie em PHP, existe uma função chamada setCookie(). - A chamada de setCookie deve ser feita antes de enviar qualquer outro conteudo ao Browser, caso contrario o header do HTTP será enviado sem o cookie - A chama acima cria um cookie chamado FontSize com valor 3 e data expiração em 60*60*24*365 segundos, ou um ano. O “/” indica que qualquer url do site pode acessa-lo PHP – Cookies - No exemplo abaixo é setado um cookie de nome pageViews e valor 7. O zero indica que o cookie irá expirar ao fechar o browser. O Path está vazio, indicando que o cookie será enviado de volta apenas para o mesmo servidor que o criou Para atualizar o cookie, basta chamar a função novamente.... PHP – Cookies - Para ler um cookie via PHP: - Um cookie criado recentemente só estará disponível através do $_COOKIE na proxima requisição do browser, para isto pode-se testar se ele está setado: PHP – Cookies - Para remover um cookie basta chamar a função setcookie() passando como parametro o nome do cookie e um valor qualquer e a data de expiração no passado PHP – Session - Os cookies podem apresentar problemas de segurança (dados gravados no browser) e de performance. Se você tiver 10 cookies armazenados de 4kb cada, isto significa uma carga de 40 kb a cada requisição - As sessões resolvem estes problemas... PHP – Session - A session armazena os dados no servidor - Cada sessão é identificada por um ID único gerado pelo PHP (SID) - Criar uma session em PHP é bem simples... Basta chamar session_start() PHP – Session - Para armazenar algo na session: - $_SESSION[“Nome”] = “João”; - Para recuperar em qualquer outra página: - echo($_SESSION[“Nome”]); PHP – Session - Para destruir a session: - $_SESSION = array(); - Session_destroy(); Exercício – data ? - Construir 3 páginas em PHP - A primeira pagina conterá um formulário com um campo para o usuário informar o nome - A segunda página conterá uma mensagem de boas vindas a este usuário (exibindo o nome dele) e um link para uma terceira pagina contendo um cabeçalho (que também deve conter o nome do usuário) - O nome deve ser armazenado/recuperado de uma sessão