O que o Enviar faz
Um formulário bem montado ainda não faz nada sozinho. Entenda o caminho dos dados: name, action e method.
Estudar esta lição interativa →Você montou campos, labels e botões, mas ainda não respondemos a pergunta principal: quando alguém clica em Enviar, o que acontece? O navegador junta os dados dos campos numa lista de pares nome=valor e os manda para um endereço. Três atributos controlam essa viagem, e quase todo formulário que "não funciona" tem um deles faltando.
name (em cada campo)
É o nome do dado que viaja. Um campo sem name NÃO é enviado, por mais preenchido que esteja. O label usa for/id (para a pessoa e o leitor de tela); o envio usa name (para o servidor).
action (no form)
O endereço que vai receber os dados. Se for omitido, os dados vão para o endereço da própria página.
method (no form)
Como enviar: get (o padrão) coloca os dados na própria URL; post manda os dados no corpo da requisição, fora da URL.
🧩 Este conteúdo é interativo — abra no app para ver e rodar de verdade. Digite nos campos: o script mostra a query string que o navegador montaria no envio. O campo sem name some da lista.
Com method="get", o envio abre algo como /busca?termo=pao&cidade=Recife: tudo depois do ? são os pares, separados por &, com espaços e acentos codificados (por exemplo, @ vira %40). Como a URL carrega os dados, ela pode ser favoritada e compartilhada: perfeito para buscas e filtros. Com method="post", os dados vão no corpo da requisição: é o certo para cadastros, logins e qualquer coisa que altere algo no servidor.
Uma URL fica no histórico do navegador, em logs de servidores e pode ser copiada e colada por engano. Um formulário de login com method="get" deixaria ?senha=... à vista de tudo isso. Mas atenção: POST só tira os dados da URL, não os criptografa. Quem protege o trajeto é o HTTPS (o endereço começar com https://).
O formulário de contato do projeto tem labels, tipos e botão corretos, mas não tem action: não existe servidor para receber os dados. Para uma página de perfil, o caminho comum é apontar o action para um serviço de formulários (que dá a você uma URL de destino) ou, mais adiante, enviar os dados com JavaScript.
🧩 Este conteúdo é interativo — abra no app para ver e rodar de verdade. Dê um name ao campo que está sem e veja a lista mudar.