Você está na página 1de 130

Programação

WEB II
Profº. Marcos Vinícius Montanari
Linguagem PHP
Roteiro
• Linguagem PHP - Introdução
• Introdução a Linguagem
• Ferramentas necessárias
• Editor de código
• Instalando o PHP 7.4 (XAMPP)
• Como funciona o PHP
• Primeiros comandos PHP
• Tipos de Variáveis
• Mesclando variáveis
• Arrays
• Operador Array Spread
Roteiro
• Linguagem PHP – Condicionais e Loops
• Condicional IF
• Condicional Ternário
• Condicional Switch
• Loop While
• Loop For
• Loop Foreach
Roteiro
• Linguagem PHP – Funções, Parâmetros e Includes
• Introdução à Funções
• Definindo uma função
• Parâmetros: Definição normal
• Parâmetros: Type e Valor padrão
• Parâmetros: Referência ou Valor
• Funções Anônimas
• Funções Flecha (Arrow) (7.4)
• Funções Recursivas
• Funções Nativas de Matemática
Roteiro
• Linguagem PHP – Funções, Parâmetros e Includes
• Funções Nativas de String
• Funções Nativas de Array
• Funções Nativas de Data/Hora
Roteiro
• Linguagem PHP – Formulário, Validações, Sessão e
Arquivos
• Introdução à HTTP Requests
• Pegando informações do formulário
• Validando informações do formulário
• Sessões no PHP
• Cookies no PHP
• Manipulando Arquivos txt
Roteiro
• Linguagem PHP – Manipulação de Array
• Array Range
• key_exists
• array_keys e array_values
• array_slice
• array_splice
• array_reduce
Roteiro
• Linguagem PHP – Banco de Dados, CRUD
• Introdução à Banco de dados
• Visão geral do PHPMyAdmin
• Conectando ao Banco de Dados com PDO
• Conceito CRUD
• Create: Inserindo dados com PDO
• Read: Lendo dados com PDO
• Update: Atualizando dados com PDO
• Delete: Removendo dados com PDO
Introdução
Introdução
O que são Linguagens de Scripts?
Linguagens de scripts são linguagens de programação em que as
instruções escritas são interpretadas, em tempo de execução, por outros
programas.
Essas instruções são códigos que executam tarefas e funcionalidades, em
geral, curtas e rápidas, pois não fazem uso de compiladores.
Introdução
Existem dois tipos de linguagens de scripts:

1)  Linguagem de script do lado do servidor: são executadas em um


servidor da web, ou seja, no lado do back-end. Por exemplo: são utilizadas
na criação de sites dinâmicos para gerar e fornecer dados ao usuário.
Exemplos:
Introdução
Existem dois tipos de linguagens de scripts:

2)  Linguagem de script do lado do cliente: são executadas no navegador


do usuário, chamada de execução front-end. Na interação do usuário com
o navegador, será utilizado a linguagem de script, tornando esse processo
menos vulnerável em termos de vazamento de dados e com maior taxa de
desempenho, já que não sobrecarrega o servidor. Exemplo:
Introdução
O que é PHP?

PHP é uma linguagem de script interpretada de código aberto, utilizada no


desenvolvimento de sites, blogs e aplicações web back-end, em razão de
facilidades de conexão entre os servidores e as interfaces com o usuário.   

A sigla PHP significa Personal Home Page, já que o propósito dessa


linguagem foi adicionar funcionalidades dinâmicas às páginas HTML
estáticas.
Introdução
Como Surgiu?
A linguagem PHP surgiu em 1994 e foi criada por Rasmus Lerdorf. Em sua
primeira versão, PHP foi um conjunto de códigos binários, escrito
na linguagem de programação C, com a finalidade de gerar páginas web
dinâmicas.

Em junho de 1995, Rasmus Lerdorf tornou a linguagem PHP open source,


permitindo que os usuários realizassem correções para os erros
encontrados no código e também aperfeiçoassem a linguagem com novas
funcionalidades. 
Ferramentas necessárias
Para podermos começar a desenvolver nossas aplicações WEB precisamos
ter algumas ferramentas instaladas.

A primeira é o próprio PHP. Antes de colocar nosso site em um


servidor o desenvolvimento é feito localmente e para isso
precisamos ter o PHP instalado na nossa máquina.

O próximo passo é termos um servidor instalar o servidor onde


nossas aplicações irão rodar. O mais famoso e amplamente
utilizado é o Apache

Depois vamos precisar de um Banco de Dados para armazenar


as informações que seu site irá acessar. O PHP suporta
praticamente todos os tipos de bancos de dados, mas iremos
utilizar o MySQL.
Ferramentas necessárias
Podemos instalar cada uma dessas ferramentas de forma separada, mas
para facilitar o processo iremos trabalhar com a instalação do “pacote”
que já apresenta tudo preparado e configurado.

A opção que iremos utilizar é o XAMPP.


Editor de código
Para criar nossas páginas WEB podemos utilizar um editor de código que
nada mais é que uma ferramenta que auxilia na hora da escrita dos
códigos.

Existem vários Editores de Código disponíveis como por exemplo Atom,


Sublime Text, Visual Studio Code, Notepad++, Brackets, CodeAnywhere
entre outros.
Editor de código
Os Editores facilitam a construção do código por trazerem várias
funcionalidades diferentes.

Cada Editor possui suas características próprias, por isso, é difícil dizer qual
é o melhor.

Para nossas aulas utilizarei o Visual Studio Code, mas fique a vontade para
utilizar qualquer um de sua preferência.
Como funciona o PHP
Para entendermos como é o funcionamento do PHP vamos seguir alguns
passos.

A primeira coisa é iniciar o servidor, que por padrão está rodando na porta
80. Para isso vamos iniciar o XAMPP e ativar o servidor.

Após ativar o servidor é possível acessar através no navegador utilizando o


endereço 127.0.0.1 ou localhost que apontam diretamente para sua
máquina.
Como funciona o PHP
Abra a pasta de instalação do XAMPP e procure pela pasta htdocs. É nessa
pasta que ficarão armazenados nossos projetos PHP.

Delete tudo que está dentro desta pasta.

Crie uma pasta com o nome de php1. Quando o servidor acessa essa pasta
a primeira coisa que ele procura é por um arquivo index.html ou
index.php, caso ele não encontre nenhum desses arquivos ele vai listar
todas as pastas e arquivos presentes nessa máquina.

Crie um arquivo index.php e escreva uma frase qualquer.


Primeiros comandos PHP
Antes de começarmos nossos projetos é importante entender como funciona
internamente o PHP.

Quando o usuário acessa um site o Apache recebe a requisição e manda para o


local onde estão os arquivos, no nosso exemplo essa requisição vai para a pasta
php1.

Vai carregar o arquivo e faz uma interpretação dos códigos existentes. No nosso
caso o servidor vai chamar o PHP para interpretar os códigos PHP e vai mandar o
resultado dessa interpretação de volta para o Apache que por sua vez vai juntar
com o resto do arquivo e exibe na tela do usuário.
Primeiros comandos PHP
Coloque o trecho de código abaixo no arquivo
index.php dentro da pasta php1.
Tipos de Variáveis
Quando estiver desenvolvendo um sistema ou no caso um site será
necessário armazenar informações que serão utilizadas durante a
requisição, como por exemplo um nome digitado por um usuário dentro
de um input text em um formulário.

Para isso usamos as variáveis.


Tipos de Variáveis
Para declarar uma variável no PHP é necessário colocar o símbolo $ antes
do nome, chamado de identificador.

Esse identificador não pode conter espaço nem caracteres especiais. Pode
ter números mas não pode iniciar com números.

Uma boa prática na hora de nomear uma variável é utilizar o padrão


CamelCase onde cada palavra é iniciada com maiúsculas e unidas sem
espaços. É um padrão largamente utilizado em diversas linguagens de
programação, como Java, C#, Ruby, PHP e Python.
Tipos de Variáveis
Para atribuir um valor a uma variável utilizamos o sinal de =.

O PHP aceita vários tipos de dados e os mais comuns são os seguintes:


• Números inteiros
• Números decimais
• String
• Bollean
• Vazia (null)
Mesclando variáveis
Mesclar variáveis nada mais é que concatenar informações e no PHP é
possível fazer isso de várias formas.
Mesclando variáveis
Temos que entender a diferença entre aspas duplas e simples. Quando usamos
aspas duplas o que será exibido na tela para o usuário é o valor que está
armazenado dentro da variável. Se você utilizar aspas simples o PHP vai interpretar
as variáveis como sendo um valor literal, ou seja, o próprio nome será exibido para
o usuário.
Arrays
Imagine que vamos fazer uma receita de bolo e precisamos armazenar os
ingredientes. Uma forma é armazenar cada ingrediente dentro de uma
variável, mas se forem muitos fica inviável criar uma variável para cada um
deles.

Para isso utilizamos o conceito de array que é um tipo de variável que permite
armazenar mais de um valor ao mesmo tempo.
Arrays
Para acessar um valor especifico do array basta “chamar” a posição que o
elemento está no array, lembrando que as posições começam do 0.
Operador Array Spread
Recurso para converter um array em argumentos. Serve como um atalho
para unir 2 ou mais arrays. É muito útil também quando se precisar
quebrar um array para passar seus valores para uma função ou construtor
de um objeto como argumentos de valores separados.

O operador Spread é definido pela variável do array que se deseja


expandir precedido por 3 pontos (...).
Operador Array Spread
Recapitulando
Condicionais e
Loops
Condicional IF
Os operadores condicionais são um dos recursos mais básicos da
programação, e são essenciais no desenvolvimento da lógica de qualquer
sistema ou aplicação. Eles são utilizados quando é necessário que
determinado código seja executado apenas se atender a uma condição.

O if/else é um operador condicional utilizado quando desejamos executar


um bloco de código apenas se determinada condição for atendida, por
exemplo, exibir um conteúdo apenas se o usuário for maior de idade.
Condicional Ternário
Outra estrutura de condição é o operador ternário, o qual também é
chamado de if ternário. Em suma, ele é uma versão compacta do if.
Primeiro declaramos a condição; logo após o sinal de interrogação (?), o
código a ser executado caso a condição seja verdadeira; e depois dos dois
pontos, o código a ser executado caso contrário.
Condicional IF
Operador ternário
Outra estrutura de condição é o operador ternário, o qual também é
chamado de if ternário. Em suma, ele é uma versão compacta do if.
Primeiro declaramos a condição; logo após o sinal de interrogação (?), o
código a ser executado caso a condição seja verdadeira; e depois dos dois
pontos, o código a ser executado caso contrário.
Condicional Switch
O switch/case é uma estrutura condicional que está presente em várias
linguagens de programação. Ela recebe um valor como parâmetro e
verifica se ele atende alguma das condições especificadas. Em caso
positivo o trecho de código relacionado a essa condição é executado.

Diferente da estrutura if/else, o switch/case avalia apenas condições de


igualdade. Ou seja, ela verifica se o valor recebido como parâmetro é igual
a alguma das opções especificadas em seu corpo. Esse comportamento
equivale à utilização de vários if/else em sequência, porém com uma
sintaxe mais enxuta e de fácil leitura.
Condicional Switch
Loop While
Estruturas de repetição são recursos que permitem executar trechos de
código mais de uma vez de acordo com uma condição.

O while é a estrutura de repetição mais simples do PHP. Com ele


informamos que um bloco de código deve ser repetido enquanto a
condição declarada for verdadeira.

A sintaxe é composta por uma expressão, validada antes de cada iteração


do loop, e pelo bloco de código a ser executado, declarado entre chaves
´{ }´. Se a expressão retornar falso, o loop não é executado.
Loop For
O for é a estrutura de repetição do PHP que utilizamos quando sabemos a
quantidade de repetições que devem ser executadas.
Expressão 1: Executada somente uma vez, ao
iniciar o loop. Normalmente a utilizamos para
declarar e inicializar as variáveis que faremos uso
para controlar o número de iterações do loop;

Expressão 2: Expressão booleana, validada antes


de cada iteração do loop. Se a expressão contiver
múltiplas expressões, todas serão executadas, mas
somente o resultado da última será considerado.
Se a expressão for vazia, ela será interpretada
como verdadeira. O loop somente será executado
enquanto essa expressão retornar true;

Expressão 3: Executada ao final de cada iteração,


normalmente a utilizamos para declarar a forma de
atualização do valor da variável avaliada na
expressão 2.
Loop Foreach
O foreach é uma simplificação do operador FOR para se trabalhar em
coleções de dados, ou seja, vetores e matrizes. Ele permite acessar cada
elemento individualmente iterando sobre toda a coleção e sem a
necessidade de informação de índices.

Por exemplo, supondo que fosse preciso percorrer um vetor com alguns
elementos com o FOR. Seria necessário utilizar um contador para servir
também de índice para acessar cada elemento, conforme a listagem a
seguir.
Recapitulando
Recapitulando
Recapitulando
Recapitulando
Funções, Parâmetros
e Includes
Introdução à Funções
Uma função é um bloco de código nomeado que executa uma tarefa
específica, possivelmente processando um conjunto de valores fornecidos
a ela e/ou retornando algum valor.

Conceito muito importante em qualquer linguagem de programação.

Por exemplo, considere que você está trabalhando num sistema em que é
necessário somar dois números. Caso essa operação seja realizada
repetidas vezes dentro código, então ela pode ser implementada dentro
de uma função que será invocada sempre que for necessário realizar a
soma.
Introdução à Funções
Introdução à Funções
Um função é declarada pela palavra reservada function seguida do nome
da função, como vemos na linha 1 do código anterior. Para nomear uma
função usamos qualquer sequência de caracteres que comece com uma
letra ou underline.

O PHP não diferencia letras maiúsculas de minúsculas para o nome de


funções, ou seja, você pode chamar a função soma() como: soma(),
SOMA(), SomA() e todos serão reconhecidos como a mesma função.
Definindo uma função
Vamos criar uma função e “chamá-la”.

No exemplo ao lado temos a


definição da função seq (linhas 2 a 7)
que faz a impressão na tela dos
números de 0 a 9.

Na linha 9 temos a chamada da


função. É nesse momento que o
interpretador vai buscar essa função
no código e vai “ativá-la”.

Podemos chamar a mesma função


quantas vezes quisermos.
Parâmetros: Definição normal
Os valores entre parênteses são chamados de parâmetros ou argumentos
e são valores dos quais a função depende para ser executada
corretamente. Nem sempre os argumentos são necessários, então pode-
se omiti-los na definição da função, mantendo apenas os parênteses.
Parâmetros: Definição normal
Parâmetros: Type e Valor padrão
O que vai acontecer se declararmos uma função que espera 3 argumentos
por exemplo e na hora de chamar essa função só mandarmos para ela 2
argumentos?
Parâmetros: Type e Valor padrão
Irá aparecer um Fatal Error que irá impedir a execução dessa requisição.
Para resolver isso é necessário definir um valor padrão para esse
argumento.
Dessa forma, caso o
terceiro argumento não
receba um parâmetro a
função irá funcionar
normalmente.

Isso não significa que o


valor desse parâmetro será
sempre zero, quando ele
receber um valor, o zero
será substituído.
Parâmetros: Type e Valor padrão
Imagine uma função que tem como objetivo somar dois números e que
por algum motivo o usuário envie, como parâmetros, textos. O que vai
acontecer?
Parâmetros: Type e Valor padrão
Uma forma de evitar que a função seja executado com os parâmetros
errados é definir o tipo de parâmetro que a função poderá receber.
Parâmetros: Referência ou Valor
Criem dois exemplos explicando como funciona a passagem de
parâmetros em uma função por Referência e por Valor.
Funções Anônimas
As funções anônimas são blocos de instruções que não possuem nome,
podem receber parâmetros e são interpretadas pela linguagem como
expressões.
Uma função anônima possui um bloco de instrução, porém, não possuem
referência que as identifiquem e, por conseguinte, não estarão no escopo
para que possamos “chamá-las”.
A vantagem das funções anônimas e, que as tornam especiais, é que
podemos armazena-las e manipula-las como fazemos com variáveis, e
assim, podemos envia-las como sendo um parâmetro de uma função. A
função receptora por sua vez, será capaz de executar a função anônima
que foi recebida como parâmetro e ainda, passar os argumentos definidos
no cabeçalho da mesma e recebendo a resposta da execução.
Funções Anônimas
Funções Flecha (Arrow)
As arrow functions foram introduzidas no PHP a partir da versão 7.4 da
linguagem, e tem como principais missões dar produtividade ao
desenvolvedor e facilitar o trabalho com escopo.
Funções Recursivas
Conceito que será pouco utilizado no dia-a-dia.
Basicamente é uma função que chama ela mesma.
Funções Nativas de Matemática
O PHP, assim como várias outras linguagens, possui um conjunto de
funções pré-definidas em sua estrutura. Essas funções são chamadas de
funções Nativas.

O primeiro conjunto de funções nativas que iremos trabalhar são as


funções focadas na matemática.

Existem várias funções mas vamos focar nas que provavelmente vocês irão
utilizar no dia-a-dia.
Funções Nativas de Matemática
abs() – Retorna o valor absoluto de um número. Valor absoluto
corresponde à distância que esse número está da origem na reta
numérica.
Funções Nativas de Matemática
pi() – Retorna o valor de π.
Funções Nativas de Matemática
floor() – Arredonda um número para baixo.
Funções Nativas de Matemática
ceil() – Arredonda um número para cima.
Funções Nativas de Matemática
round() – Arredonda um número para cima ou para baixo dependendo do
seu valor.

Com essa função é possível ajustar a precisão de quantas casas decimais


você precisa antes de fazer o arredondamento.
Funções Nativas de Matemática
rand() – gera um número aleatório que pertence ao intervalo definido
Funções Nativas de Matemática
max() – Retorna o maior valor
Funções Nativas de Matemática
min() – Retorna o menor valor
Funções Nativas de Matemática
Além desses funções o PHP possui outras que podem ser visualizadas no
link da documentação:

https://www.php.net/manual/pt_BR/ref.math.php
Funções Nativas de String
trim — Retira espaço no início e final de uma string
Funções Nativas de String
strlen — Retorna o tamanho de uma string
Funções Nativas de String
strtolower — Converte uma string para minúsculas
Funções Nativas de String
strtoupper — Converte uma string para maiúsculas
Funções Nativas de String
substr_replace — Substitui o texto dentro de uma parte de uma string.
Funciona com um caractere ou com uma parte maior da string.
Funções Nativas de String
substr — Retorna uma parte de uma string. O primeiro parâmetro é a
variável que será “partida”, o segundo é a posição inicial e o terceiro a
quantidade de caracteres que será retornada.
Funções Nativas de String
strrpos — Encontra a posição da primeira ocorrência de um caractere ou
pedaço em uma string.
Funções Nativas de String
ucfirst — Converte para maiúscula o primeiro caractere de uma string
Funções Nativas de String
explode — Divide uma string em posições de um array. Possui dois
parâmetros, o primeiro é o elemento que será utilizado para delimitar as
partes e o segundo é a variável que possui a string que será dividida.
Funções Nativas de String
number_format — Formata um número com os milhares agrupados. O
primeiro parâmetro é a variável que será formatada, o segundo é a
quantidade de casas decimais que o número terá, o terceiro é o símbolo
utilizado para separar os decimais e o quarto é o símbolo utilizado para
separar os milhares.
Funções Nativas de Array
count — Conta o número de elementos de um array
Funções Nativas de Array
array_diff — Mostra a diferença entre dois arrays
Funções Nativas de Array
array_filter — Filtra elementos de um array utilizando uma função para
verificar a condição.
Funções Nativas de Array
array_map — Aplica uma função em todos os elementos do array.
Funções Nativas de Array
array_pop — Extrai um elemento do final do array
Funções Nativas de Array
array_shift — Retira o primeiro elemento de um array
Funções Nativas de Array
in_array — Checa se um valor existe em um array
Funções Nativas de Array
array_search — Procura por um valor em um array e retorna sua posição
correspondente caso seja encontrado.
Funções Nativas de Array
sort — Ordena um array
Funções Nativas de Array
rsort — Ordena um array em ordem descrescente
Funções Nativas de Array
asort — Ordena um array mantendo a associação entre índices e valores
Funções Nativas de Array
arsort — Ordena um array em ordem descrescente mantendo a
associação entre índices e valores
Funções Nativas de Array
implode — transforma todos os elementos de um array em uma string.
Funções Nativas de Data/Hora
Utilizem a documentação PHP e escolham 5 funções nativas de Data/Hora
e criem exemplos práticos para cada uma delas.

https://www.php.net/manual/pt_BR/ref.datetime.php
Importação
Quando estudamos programação, aprendemos com o tempo que uma das
coisas mais importantes em nosso código não é que ele esteja
simplesmente funcionando, mas sim que esteja bem organizado.
Uma maneira de realizar essa organização é por dividir um arquivo
principal em arquivos menores, realizando assim uma fragmentação de
nosso código.
E depois de realizar essa divisão, precisamos introduzir em nossa página o
conteúdo desses outros arquivos se desejarmos ter acesso a seus
recursos.
Para isso usamos o conceito de importação de arquivos. No PHP, podemos
realizar essa importação através do include e do require.
Importação
O include realiza a importação de um arquivo para nossa página e verifica
se esse arquivo está funcionando e se ele de fato existe.

Se essa verificação constatar que há algum problema no arquivo, um aviso


(warning) será retornado na tela, mas o código que estiver abaixo do
include continuará sendo executado.
Importação
O require realiza a importação de um arquivo para nossa página e verifica
se esse arquivo está funcionando e se ele de fato existe.
Contudo, ele faz isso com uma pequena diferença. Se for constatado
algum problema no arquivo que estamos fazendo a importação, o require
retorna um erro fatal, o que irá parar a execução do nosso código,
diferentemente do include.
Assim, podemos dizer que o require obriga que o arquivo importado
esteja funcionando para que nossa aplicação não “quebre”.
Importação
Iremos criar um arquivo chamado file.php, que será importado
posteriormente. Ele irá exibir uma mensagem de importação bem
sucedida, por meio um echo. Seu script será o seguinte:

Vamos agora criar um arquivo index.php. Ele irá realizar a importação do


arquivo file.php e depois irá exibir uma outra mensagem. Os dois arquivos
estarão no mesmo diretório. Iremos usar o include primeiramente. O
conteúdo do arquivo será este:
Importação
Agora altere o código do index.php e faça o include do arquivo file1.php
que não existe.

Um warning foi retornado para nós, informando que o arquivo não existe.
Contudo, perceba que a string “PROGRAMAÇÃO WEB II” foi exibida
normalmente, o que mostra que a execução de nosso código continuou.
Importação
Iremos agora substituir o include por um require, e iremos provocar o
mesmo erro. O código ficará assim:

Note que agora foi retornado um “Fatal error”. Além disso, a string
“PROGRAMAÇÃO WEB II” não foi exibida, o que mostra que a execução de
nosso código foi cancelada por causa desse problema.
Importação
Um outro ponto importante sobre o include e o require é que os dois
possuem uma declaração com o sufixo “_once”.
A palavra “once” significa basicamente “uma vez”. Quando usamos esse
sufixo, garantimos que o arquivo desejado será importado apenas uma vez
em nossa aplicação.
Isso é muito interessante pois pode ser que, sem perceber, realizemos a
importação do mesmo arquivo duas vezes.
Isso pode gerar uma mensagem de erro no navegador, ou pode ser que o
script do arquivo importado execute duas vezes, o que pode gerar
problemas.
Ao usar o include_once ou require_once, anulamos a chance de isso
acontecer. Assim, se puder escolher, prefira usar essas declarações com o
sufixo “_once”.
Formulário, Validações,
Sessão e Arquivos
Introdução à HTTP Requests
O protocolo HTTP (Hypertext Transfer Protocol) foi desenvolvido para
permitir a comunicação entre clientes e servidores.

O HTTP funciona como um protocolo de solicitação-resposta entre um


cliente e um servidor.

Um navegador web pode ser o cliente e um aplicativo em um computador


que hospeda um site da web pode ser o servidor.

Um cliente (navegador) envia uma solicitação HTTP ao servidor; então o


servidor retorna uma resposta ao cliente. A resposta contém informações
de status sobre a solicitação e também pode conter o conteúdo solicitado.
Introdução à HTTP Requests
Existem dois métodos de solicitação HTTP: GET e POST

No método GET, os dados são enviados como parâmetros de URL que


geralmente são strings de pares de nome e valor separados por e
comercial (&). Em geral, um URL com dados GET terá a seguinte aparência:
Introdução à HTTP Requests
Vantagens de usar o método GET:
 As requisições GET podem ser armazenadas em cache e permanecem
no histórico do navegador.

Desvantagens de usar o método GET


 O método GET não é adequado para passar informações confidenciais,
como nome de usuário e senha, porque eles são totalmente visíveis na
string de consulta de URL, bem como potencialmente armazenados na
memória do navegador do cliente como uma página visitada.
 Como o método GET atribui dados a uma variável de ambiente do
servidor, o comprimento da URL é limitado. Portanto, existe uma
limitação para o total de dados a serem enviados.
Introdução à HTTP Requests
No método POST, os dados são enviados ao servidor como um pacote em uma
comunicação separada com o script de processamento. Os dados enviados pelo
método POST não ficarão visíveis na URL.

Vantagens de usar o método POST


 É mais seguro do que GET porque as informações inseridas pelo usuário nunca
são visíveis na string de consulta de URL ou nos logs do servidor.
 Há um limite muito maior na quantidade de dados que podem ser transmitidos
e pode-se enviar dados de texto, bem como dados binários (fazer upload de um
arquivo) usando o POST.

Desvantagens de usar o método POST


 Solicitações POST nunca são armazenadas em cache
 As requisições POST não permanecem no histórico do navegador.
Pegando informações do
formulário
O filter_input() é uma função embutida no PHP que é usada para obter a
variável externa específica por nome e filtrá-la.
Esta função é usada para validar variáveis ​de fontes não seguras, como
entrada do usuário do formulário.
Esta função é muito útil para prevenir alguma ameaça potencial de
segurança como SQL Injection.

O primeiro parâmetro é obrigatório e serve para verificar o tipo de


entrada. O segundo parâmetro também é obrigatório e é usado para
guardar o nome da variável que deve ser verificada.
Pegando informações do
formulário
Retorna o valor da variável em caso de sucesso ou False em caso de falha.
Se o parâmetro não estiver definido, retorne NULL.
Validando informações do
formulário
Quando temos uma página com um formulário e pretendemos receber
alguns dados dos usuários é importante fazer a validação desses dados
antes de armazená-los em um banco ou fazer uso de alguma forma.

Para isso podemos utilizar a função filter_input para tratar esses dados

Vamos ver alguns exemplos:


Caso você precise receber um e-mail do usuário, basta adicionar um
terceiro parâmetro na função filter_input com o filtro
FILTER_VALIDATE_EMAIL.
Validando informações do
formulário
Nos casos em que pedimos a idade de um usuário, corremos o risco de receber
dados que não sejam numéricos, para isso utilizamos o filtro
FILTER_SANITIZE_NUMBER_INT que vai retirar apenas a parte numérica da
informação digitada.

Em alguns casos corremos o risco de receber códigos maliciosos através de um


formulário. Um usuário pode enviar um script em um input do tipo text para tentar
atacar seu site. Para prevenir essa situação devemos utilizar o filtro
FILTER_SANITIZE_SPECIAL_CHARS que irá transformar o código em texto comum.
Validando informações do
formulário
Existem outros filtros como por exemplo:
• FILTER_VALIDATE_INT: verifica se o valor é inteiro
• FILTER_VALIDATE_IP: verifica se é realmente um endereço IP
• FILTER_VALIDATE_URL: verifica se é uma URL válida

• FILTER_SANITIZE_EMAIL: retira tudo que não fizer parte do email


• FILTER_SANITIZE_STRING: Retira tags. Opcionalmente é possível retirar
ou converter outros caracteres especiais.
• FILTER_SANITIZE_URL: Remove todos os caracteres, exceto letras,
dígitos e $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
• FILTER_SANITIZE_NUMBER_FLOAT: Remove todos os caracteres, exceto
os dígitos, sinal de mais e menos.
Sessões no PHP
A sessão web é bem parecida com a sessão de um PC, que ao iniciar,
temos que colocar usuário e senha, assim seu computador pode saber
quem está usando a máquina e guardar os registros com segurança.

Em um site ou sistema web, a sessão é importante quando se quer mais


segurança na página ou quando se quer ter um controle de usuário.

Também alguns programadores utilizam-se deste recurso para guardar


informações e também pode-se montar um carrinho de compra de um
site de vendas, pois assim vão armazenando-se os itens ou produtos e só
no final é que os dados são jogados no banco de dados.
Sessões no PHP
Todas as páginas que precisarem das informações de sessão devem ter no
início da página o comando session_start().

Caso alguma coisa aconteça no decorrer da execução e que force a página


a ser recarregada ou redirecionada é possível armazenar algumas
informações que serão envidas junto com o usuário, como por exemplo
um aviso.
Sessões no PHP
Sessões no PHP
Cookies no PHP
Cookies são pequenos arquivos incorporados pelo servidor no computador
do usuário. Servem para trocar dados entre o navegador do usuário e o
servidor da página que o criou.

O cookie ficará disponível pelo tempo que o desenvolvedor do site definir.


Portanto, se o cookie estiver válido, ou seja, disponível, ele poderá ser
acessado em seu código mesmo que o cliente feche o navegador ou
desligue o computador. No próximo acesso, os dados estarão disponíveis
novamente para consulta. O cookie será automaticamente apagado quando
a data determinada expirar.

O cookie pode ser utilizado na criação de carrinho de compras em sites de


e-commerce, banners rotativos sem repetição, visitas de usuários, últimas
buscas, botões de curtidas, etc.
Cookies no PHP
A função PHP utilizada para criar cookies é setcookie(). Veja abaixo sua sintaxe:

• nome: Nome do cookie necessário para acessar as informações armazenadas.

• valor: Informações que queremos gravar no cookie.

• expira: Tempo em que o cookie deverá ficar armazenado no computador do


cliente. Este tempo é indicado sempre em segundos.
• Para definir o tempo de duração do cookie, vamos utilizar a função time(),
tempo atual mais o tempo de vida do cookie em segundos.
• Nota1: 3.600 segundos = 1 hora | 86.400 = 1 dia
• Nota2: Se o tempo de duração do cookie for configurado como 0, ou omitido, o
cookie irá expirar ao fim da sessão (quando o navegador fechar).  
Cookies no PHP
Para ler o(s) valor(es) de um cookie utilizamos a variável $_COOKIE[]. Veja
a sintaxe abaixo:

onde:

nome: Nome do cookie que foi criado pela função setcookie().


Cookies no PHP
Para deletar um cookie basta colocar um tempo de expiração negativo ou
definir o valor como vazio. Veja a sintaxe abaixo:
Cookies no PHP
Cookies no PHP
Cookies no PHP
Cookies no PHP
Manipulando Arquivos txt
Com o PHP é possível ler ou escrever conteúdo em um arquivo de texto TXT.
Para isto, vamos utilizar duas funções nativas do PHP: file_get_contents()
para ler todo o conteúdo de um arquivo em uma string
e file_put_contents() para escrever uma string em um arquivo.

A função file_get_contents() é o método preferível para ler o conteúdo de


um arquivo em uma string, pois utiliza técnicas de mapeamento de
memória, que quando suportadas pelo servidor, melhoram a performance
da leitura.

O arquivo de texto criado poderá ter qualquer tipo de extensão


(.txt, .php, .doc, .xls, json, etc). Entretanto, vamos adotar a
extensão .txt como padrão para esse exemplo.
Manipulando Arquivos txt

Portanto, a função file_get_contents() lê e retorna todo o conteúdo do


arquivo em uma string.
Manipulando Arquivos txt
Podemos gravar dados em um arquivo TXT por meio da função
file_put_contents().

Essa função irá criar o arquivo caso ele não exista no diretório.
Manipulando Arquivos txt
É possível atualizar o arquivo acrescentando conteúdo após o conteúdo
que já está presente
Recapitulando

Você também pode gostar