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

Postado em por Wolmir Cezer Garbin em PHP | 188 Visualizações
Última atualização em:

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.

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.

Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

Posts relacionados


Code Conference

Esta é uma conferência de código realizada na cidade de Pato Branco para dissiminar tendências e informações sobre programação e novas tecnológias

Veja mais sobre o Code Conference

Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar