Oi, Alan.
É muito bom ver que você percebeu a diferença entre os dados que vêm da URL e os dados que estão guardados no arquivo. Esse é um passo fundamental no aprendizado de manipulação de dados.
Quando usamos $_GET, estamos acessando apenas o que foi enviado via parâmetro na navegação (como o nome do filme para exibir a mensagem de confirmação). Já o arquivo JSON funciona como um banco de dados simples, guardando as informações para que possam ser lidas depois.
Entendendo a lógica
No seu código, a variável $filmes (ou $filme) atua como uma ponte. O processo funciona assim:
- Leitura: O PHP pega o texto bruto do arquivo com
file_get_contents. - Transformação: O
json_decode transforma esse texto em um array associativo. - Exibição: Você acessa as chaves desse array para mostrar os valores no HTML.
Uma pequena observação sobre o seu código
No trecho que você compartilhou, notei que você usou tanto $_GET['nome'] quanto $filmes['nome'].
- O
$_GET é útil para uma saudação rápida ou confirmação imediata. - O
$filmes é o que garante que você está exibindo exatamente o que foi gravado no sistema.
Continue praticando essa transição de dados entre arquivos e formatos, pois essa base facilitará muito quando você começar a trabalhar com bancos de dados reais.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!