Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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