Aula 02 a 03 - Metodos GET e POST do protocolo HTTP /
Formulários via GET e POST
O HTTP tem diversos verbos para manipulação de dados,
sendo os principais o GET e o POST.
Para ver a descrição desses métodos e os demais veja a
página
MDN Web Docs.
Quando criamos um form em HTML a propriedade action aponta para o local onde os dados do formulário serão enviados, ou para a própria URL quando nada estiver definido. Quando criamos um <input type='submit'> ele irá enviar os dados do formulário de acordo com o método definido no <form> (por padrão o método GET que cria uma 'query string').
Utilizar o método GET é o mesmo que criar uma ancora <a href='index.php?name=Blabla'>.
Podemos verificar os dados enviados pelos métodos GET e POST através do Chrome Dev Tools (ou similar em outros navegadores).

Quando criamos um form em HTML a propriedade action aponta para o local onde os dados do formulário serão enviados, ou para a própria URL quando nada estiver definido. Quando criamos um <input type='submit'> ele irá enviar os dados do formulário de acordo com o método definido no <form> (por padrão o método GET que cria uma 'query string').
Utilizar o método GET é o mesmo que criar uma ancora <a href='index.php?name=Blabla'>.
Podemos verificar os dados enviados pelos métodos GET e POST através do Chrome Dev Tools (ou similar em outros navegadores).
Aula 04 - Lendo query string e form data
Quando recebemos as informações de um formulário podemos
utilizar a variável global $_SERVER para
verificar o método utilizado para o envio das
informações. Para isso consultamos a chave
$_SERVER['REQUEST_METHOD'].
Com o retorno do tipo de método utilizado podemos fazer um teste lógico para o tipo de método e disparar uma execução.
Podemos ainda recuperar os valores digitados através das variáveis $_POST['chave'] e $_GET['chave'].

Com o retorno do tipo de método utilizado podemos fazer um teste lógico para o tipo de método e disparar uma execução.
Podemos ainda recuperar os valores digitados através das variáveis $_POST['chave'] e $_GET['chave'].
Aula 05 - Lendo diferentes campos de um formulário
Quando enviamos os dados via POST de um
formulário, todos os campos são tratados como
string, inclusive <input type="file">. Para
corrigir isso devemos incluir a propriedade
enctype="multipart/form-data" na tag
<form>. Com isso o arquivo deixa de ser incluido
no array do $_POST e passa a fazer parte do
array da variável global $_FILES.
Os campos do tipo radio e checkbox também enviam os valores definidos na propriedade value de cada um deles.

Os campos do tipo radio e checkbox também enviam os valores definidos na propriedade value de cada um deles.
Aula 06 - Garantindo o tipo das variáveis
Podemos garantir que as variáveis sejam do tipo inteiro
precedendo o valor recebido da variável pelo operador
(int).
Quando fazemos testes lógicos podemos encerrar um loop com a função die().
Podemos transformar em string utilizando o operador (string).
Outras opções de conversão são: (bool), (float), (array), (object).
O PHP sempre tentará realizar a conversão, entretanto em certos casos pode retornar erro como ao tentar converter um array em string. Outra questão a ser verificar é em não passar dados nulos pois nesse caso também retorna erro.

Quando fazemos testes lógicos podemos encerrar um loop com a função die().
Podemos transformar em string utilizando o operador (string).
Outras opções de conversão são: (bool), (float), (array), (object).
O PHP sempre tentará realizar a conversão, entretanto em certos casos pode retornar erro como ao tentar converter um array em string. Outra questão a ser verificar é em não passar dados nulos pois nesse caso também retorna erro.
Aula 07 - Operador ternário versus Null Coalescing
Operator
Devemos monitorar os campos em que não podemos ter dados
nulos através de um operador ternário, testando o valor
com a função isset() e atribuindo um valor
null caso a variável não existir. Caso o valor
seja null podemos verificá-lo com a função
is_null().
A partir da versão 7 do PHP foi criado o null coalescing operator que é uma simplificação do operador ternário. Essa operação elimina a necessidade de fazer o teste isset(). Exemplo:

A partir da versão 7 do PHP foi criado o null coalescing operator que é uma simplificação do operador ternário. Essa operação elimina a necessidade de fazer o teste isset(). Exemplo:
//Operador ternário
$idade = (isset($_POST['idade'])) ? $_POST['idade'] : null;
//Coalescing
$idade = $_POST['idade'] ?? null;
Todos os tipos de variáveis podem ser testadas com o
prefixo is_, desse modo podemos testar uma
variável com is_int(), is_string(),
is_array(), etc.
$idade = (isset($_POST['idade'])) ? $_POST['idade'] : null;
//Coalescing
$idade = $_POST['idade'] ?? null;
Aula 08 - Introdução a filtragem de dados
A filtragem de dados é um procedimento de segurança que
fazemos para evitar que seja injetado código indesejado
em nossos formulários.
A função trim() remove os espaços antes ou depois do valor recebido.
Outra função importante á a stripslashes(). Essa função remove o caractere '\' que por ser um caractere de escape pode ser utilizado com intenção de quebrar o código.
Outra função importante é a strip_tags() ou a htmlspecialchars(). A primeira remove as expressões que sejam tags e retornam apenas o conteudo. Já a segunda converte os caracteres especiais do html em sua forma de character entity e com isso apresenta o texto puro na tela. Podemos utilizar alguns parametros para tratar as " e ' além de outros. Ver opções em PHP Manual

A função trim() remove os espaços antes ou depois do valor recebido.
Outra função importante á a stripslashes(). Essa função remove o caractere '\' que por ser um caractere de escape pode ser utilizado com intenção de quebrar o código.
Outra função importante é a strip_tags() ou a htmlspecialchars(). A primeira remove as expressões que sejam tags e retornam apenas o conteudo. Já a segunda converte os caracteres especiais do html em sua forma de character entity e com isso apresenta o texto puro na tela. Podemos utilizar alguns parametros para tratar as " e ' além de outros. Ver opções em PHP Manual
Aula 09- Filtragem de dados com input_filter
O filter_input() executa algumas das opções de
filtragem que fizemos manualmente no exercício anterior.
Ele não acessa a variável global $_POST mas
utiliza como parametro a variável INPUT_POST. A
sintaxe dessa função é:
A primeira vantagem é que não precisamos fazer o teste de valor nulo (nem com ternário nem com coalescing).
Otra função que podemos utilizar, quando temos vários campos no formulário é a filter_input_array(INPUT_POST). Essa função retorna um array com todos os campos do formulário.
Podemos passar alguns parametros para as funções filter_input() e filter_input_array():
FILTER_DEFAULT: não aplica nenhum filtro (padrão);
FILTER_SANITIZE_SPECIAL_CHARS: aplica os filtros de caractere como o htmlspecialchars();
FILTER_SANITIZE_NUMBER_INT: faz a conversão de inteiros.
FILTER_VALIDATE_EMAIL: verifica se o valor digitado é um e-mail válido (retorna false inclusive se o valor tiver espaços).
Para ver a lista completa de filtros PHP Manual
Por fim o INPUT_POST pode ser utilizado também como INPUT_GET. Essas variáveis substituem a utilização das 'super' variáveis $_POST e $_GET pela facilidade e redução de código.

$nome_variavel = filter_input(INPUT_POST,
'nome_do_campo'
A primeira vantagem é que não precisamos fazer o teste de valor nulo (nem com ternário nem com coalescing).
Otra função que podemos utilizar, quando temos vários campos no formulário é a filter_input_array(INPUT_POST). Essa função retorna um array com todos os campos do formulário.
Podemos passar alguns parametros para as funções filter_input() e filter_input_array():
FILTER_DEFAULT: não aplica nenhum filtro (padrão);
FILTER_SANITIZE_SPECIAL_CHARS: aplica os filtros de caractere como o htmlspecialchars();
FILTER_SANITIZE_NUMBER_INT: faz a conversão de inteiros.
FILTER_VALIDATE_EMAIL: verifica se o valor digitado é um e-mail válido (retorna false inclusive se o valor tiver espaços).
Para ver a lista completa de filtros PHP Manual
Por fim o INPUT_POST pode ser utilizado também como INPUT_GET. Essas variáveis substituem a utilização das 'super' variáveis $_POST e $_GET pela facilidade e redução de código.
Aula 10 - isset versus empty
Como já vimos a função isset() verifica se o
campo existe ou não e caso negativo retorna o booleano
false. A função empty() faz o inverso.
Caso o campo não exista retorna o booleano true.
Além dessa diferença a função empty() também retorna true caso não haja conteudo no campo ao passo que o isset() apenas retorna false caso o campo não exista.

Além dessa diferença a função empty() também retorna true caso não haja conteudo no campo ao passo que o isset() apenas retorna false caso o campo não exista.
Aula 11 - compact e extract
A função extract() retorna os valores recebidos
pelo POST separados e não em um array. Com isso
podemos atribuir os valores diretamente a variáveis sem
precisar manuipular o array.
Já a função compact() faz o inverso e gera um array com os dados recebidos.

Já a função compact() faz o inverso e gera um array com os dados recebidos.
Aula 12 - Super variável REQUEST
A variável global $_REQUEST retorna tanto os
dados do método POST quanto do método
GET ao mesmo tempo.
A variável $_REQUEST tem uma prioridade de recuperação de dados, assim caso um parametro seja passado com o mesmo nome no GET e no POST

A variável $_REQUEST tem uma prioridade de recuperação de dados, assim caso um parametro seja passado com o mesmo nome no GET e no POST