⊗ppPmFmOFH 299 of 447 menu

Processamento de formulário em um único arquivo PHP

Na lição anterior, nosso formulário estava localizado em uma página, mas era enviado para outra. Na verdade, isso não é necessário. Se você deixar o atributo action vazio ou removê-lo completamente, o formulário será enviado para a mesma página.

Como isso vai funcionar: na primeira vez que acessarmos a página, preencheremos o formulário com dados e clicaremos no botão. Depois disso, a página será atualizada e seu código será executado novamente, mas agora com os dados do formulário.

Vamos ver um exemplo. Suponha que temos um arquivo com um formulário e seu processamento:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Na primeira vez que acessar a página, a função var_dump exibirá um array vazio. E após o envio do formulário, ela exibirá os dados do formulário. Ou seja, na primeira vez $_GET estará vazio, e na segunda vez - conterá os dados do formulário.

Isso pode levar a problemas. Suponha, por exemplo, que vamos inserir números no formulário e queremos exibir a soma desses números na tela:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

Neste caso, na primeira vez que acessar a página, veremos erros PHP, relacionados ao fato de que o array $_GET está vazio, e estamos tentando acessar seus elementos.

Vale mencionar que os erros podem não aparecer no seu navegador. Nesse caso, verifique se a exibição de erros do PHP está ativada, e também certifique-se de que é o primeiro acesso à página e que não há dados de formulário na barra de endereços.

Vamos corrigir o problema. Para isso, adicionaremos uma condição na qual verificaremos se o formulário foi enviado.

Por exemplo, podemos verificar se $_GET não está vazio. Se $_GET não estiver vazio - então o formulário foi enviado e podemos executar a soma. Caso contrário, ainda estamos no primeiro acesso à página e a soma não será executada. Então, aqui está o código corrigido:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Pergunte ao usuário o sobrenome, nome e patronímico. Após o envio do formulário, exiba na tela os dados inseridos.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar