PHP, Formulários SELECT e Comando SWITCH

Neste guia prático você vai dominar: A integração de formulários HTML <select> com PHP, como processar dados via método POST e como utilizar o switch para criar respostas dinâmicas baseadas na escolha do usuário.

Como usar SELECT do HTML com PHP?

Para usar um campo select com PHP, você define um nome (atributo name) na tag <select> e valores específicos nos atributos value de cada <option>. Quando o formulário é enviado via POST, o PHP recebe o valor da opção selecionada através da superglobal $_POST['nome_do_campo']. A partir daí, basta usar uma estrutura como o switch para comparar esse valor e executar a lógica desejada.


Exercício de PHP com formulário HTML

Neste tutorial de nossa apostila de PHP, vamos aprender como usar o formulário do tipo SELECT junto com o PHP, fazendo uso do comando SWITCH.

Crie uma página web que exibe um formulário do tipo SELECT (igual imagem abaixo), perguntando a linguagem de programação favorita do usuário.

Devem ter as opções:

  • PHP
  • JavaScript
  • C
  • Python
  • C++
  • C#
  • Ruby

Após clicar em enviar, essa informação deve ir pro PHP, que deve retornar uma mensagem:

  • PHP é foda mesmo!
  • JavaScript? Junto com PHP ela é perfeita!
  • C eu acho difícil
  • Python eu acho fácil e divertida
  • Para todas as outras: Essa eu não conheço

No PHP, use o comando SWITCH para tratar as opções.


PHP com formulário SELECT do HTML

O código HTML é:


Qual a melhor linguagem, na sua opinião?<br />
<form method="post" action="">
 <select name="lingua">
  <option value="PHP">PHP</option>
  <option value="JS">JavaScript</option>
  <option value="C">C</option>
  <option value="Python">Python</option>
  <option value="CPP">C++</option>
  <option value="C#">C#</option>
  <option value="Ruby">Ruby</option>
 </select>
 <input type="submit" name="submit" value="Enviar"/>
</form>

Note que o nome do formulário é lingua. Vamos usar esse valor para pegar a opção selecionada pelo usuário.

Agora vamos para o PHP. Primeira coisa que devemos fazer é pegar o valor selecionado, vamos fazer isso usando o $_POST e armazenando na variável $linguagem:


$linguagem = $_POST['lingua'];

Em seguida, vamos pegar essa variável e tratar no SWITCH, para exibir a mensagem correta.


Código Completo: PHP + HTML


<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 Qual a melhor linguagem, na sua opinião?<br />
 <form method="post" action="">
  <select name="lingua">
   <option value="PHP">PHP</option>
   <option value="JS">JavaScript</option>
   <option value="C">C</option>
   <option value="Python">Python</option>
   <option value="CPP">C++</option>
   <option value="C#">C#</option>
   <option value="Ruby">Ruby</option>
  </select>
  <input type="submit" name="submit" value="Enviar"/>
 </form>
 
 <?php 
  // Verificamos se o formulário foi enviado para evitar erros de índice indefinido
  if(isset($_POST['lingua'])){
      $linguagem = $_POST['lingua'];
      
      switch($linguagem){
       case 'PHP':
        echo "PHP é a mais foda mesmo!";
        break;
       case 'JS':
        echo "JavaScript? Junto com PHP é perfeita!";
        break;
       case 'C':
        echo "C eu acho difícil!";
        break;
       case 'Python':
        echo "Python é fácil e divertida!";
        break;
       default:
        echo "Não conheço essa!";
      }
  }
 ?>
 </body>
</html>

Em cada <option>, veja que tem um atributo value, quando selecionamos uma opção, o formulário <select> vai retornar justamente esse valor. Ou seja, vai retornar "PHP", "JS", "C", "Python" etc. Aí agora é só tratar essas strings com o SWITCH.

Note que houve uma comunicação entre a página HTML e o servidor PHP, poderíamos simplesmente ter armazenado essa opção do usuário, para fazer uma pesquisa de dados para alguma empresa.

Bacana e simples, esse PHP não?

🚀 Transforme-se em um Desenvolvedor Web!

Interagir com o usuário é a alma da web. Quer aprender a salvar esses dados em bancos de dados reais? Na Apostila PHP Progressivo, você vai do formulário básico ao sistema completo.

DOWNLOAD DA APOSTILA →

🛠️ Upgrade de Programador: Verificação isset()

Em sistemas reais, sempre usamos o comando isset() antes de acessar o $_POST. Isso evita que o PHP mostre um erro de "Aviso" (Warning) na primeira vez que o usuário abre a página, quando o formulário ainda não foi enviado. Segurança e limpeza de código sempre em primeiro lugar!

Nenhum comentário:

Veja também: