Identificar o Botão que foi clicado no formulário em PHP

Neste post será mostrado uma situação bastante comum em formulário criados em PHP, onde é necessário identificar qual o botão que foi clicado.

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - PHP - TUTORIAL

Última atualização em: | 26609 Visualizações

Para o desenvolvimento Web é muito importante conhecer sobre o protocolo HTTP e como funcionam as requisições. Neste post será mostrado uma situação bastante comum em formulário criados em PHP, onde é necessário identificar qual o botão que foi clicado em PHP, de um formulário web, que contém diferentes opções, e precisamos saber qual a ação que o usuário quer realizar.

Para este exemplo, considere que temos botões de Alterar, Inserir e Excluir em um mesmo formulário.

Considere o código html:

<form action="/send.php" method="post">
	<input type="text" value="1" name="codigo">
	<input type="text" value="Dados para Teste" name="nome">
	
	<input type="submit" value="Inserir" name="inserir">
	<input type="submit" value="Alterar" name="alterar">
	<input type="submit" value="Excluir" name="excluir">
</form>

Será utilizado uma forma simples e pode ser aplicada tanto via método GET ou POST, porém é recomendado para o envio dos dados sempre utilizar o método POST, por isso será usado POST.

Imagine que temos uma página chamada send.php, a qual tem o seguinte conteúdo:

Arquivo send.php:

<?php
if(isset($_POST["inserir"]){
     echo "botão clicado foi o inserir";
} else if(isset($_POST["alterar"]){
     echo "botão clicado foi o excluir";
} else if(isset($_POST["excluir"]){
     echo "botão clicado foi o excluir";
}
?>

isset() -> usado para verificar se um elemento é nulo.

Pronto, agora você pode tratar cada requisição de maneira diferente.

Mas se no method do form estivesse usando GET ao invés de POST, poderiamos apenas trocar o código acima por este:

<?php
if(isset($_GET["inserir"]){
     echo "botão clicado foi o inserir";
} else if(isset($_GET["alterar"]){
     echo "botão clicado foi o excluir";
} else if(isset($_GET["excluir"]){
     echo "botão clicado foi o excluir";
}
?>

Se quiser saber mais sobre métodos GET e POST recomendamos acessar o tutorial Identificar requisição POST ou GET com PHP onde explico como os métodos funcionam e como obter valores em PHP.

Note que este exemplo serve para demonstrar como verificar quais dos botões foi clicado, se tiver mais botões precisa adicionar mais opções de verificação.

Isso se tona útil e muito usado principalmente quando queremos inserir código PHP na mesma página possibilitando executar determinada ação.


Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!