Como enviar valores de RadioButtons em PHP
Os RadioButtons são amplamente utilizados em formulários HTML quando você deseja que o usuário selecione apenas uma opção de várias disponíveis. No PHP, capturar o valor escolhido por meio de um RadioButton é bastante simples usando o método POST. Neste post, vou te mostrar como enviar valores de RadioButtons em PHP.
Criando o formulário HTML com RadioButtons
O primeiro passo é criar o formulário com opções de RadioButtons. Aqui está um exemplo básico de um formulário que pergunta a preferência de cor de um usuário:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Seleção de Cor</title>
</head>
<body>
<h2>Qual é sua cor favorita?</h2>
<form action="processa_radio.php" method="POST">
<input type="radio" id="vermelho" name="cor" value="vermelho" required>
<label for="vermelho">Vermelho</label><br>
<input type="radio" id="azul" name="cor" value="azul">
<label for="azul">Azul</label><br>
<input type="radio" id="verde" name="cor" value="verde">
<label for="verde">Verde</label><br>
<input type="radio" id="amarelo" name="cor" value="amarelo">
<label for="amarelo">Amarelo</label><br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Explicação do formulário:
<input type="radio">
: Define um RadioButton. O valor atribuído ao atributovalue
será o valor enviado ao servidor quando o botão for selecionado.name="cor"
: Todos os RadioButtons relacionados compartilham o mesmo atributoname
. Isso garante que apenas uma opção seja selecionada e enviada ao servidor.required
: Garante que o usuário selecione uma das opções antes de enviar o formulário.
Processando o valor do RadioButton com PHP
Agora, vamos criar o arquivo processa_radio.php
para capturar e processar o valor selecionado pelo usuário.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Verifica se a opção 'cor' foi enviada
if (isset($_POST['cor'])) {
// Coleta o valor do RadioButton
$corEscolhida = htmlspecialchars($_POST['cor']);
// Exibe a cor escolhida
echo "<h2>Você escolheu a cor: $corEscolhida</h2>";
} else {
echo "<h2>Nenhuma cor foi selecionada.</h2>";
}
} else {
echo "Método de requisição inválido.";
}
?>
Explicação do código PHP:
$_SERVER["REQUEST_METHOD"]
: Verifica se o formulário foi enviado via POST.isset($_POST['cor'])
: Checa se o valor decor
foi definido, ou seja, se o usuário selecionou uma das opções.htmlspecialchars($_POST['cor'])
: Captura o valor da opção selecionada e aplica a funçãohtmlspecialchars()
para evitar ataques XSS.- Exibe a cor escolhida: Após a seleção, o valor escolhido pelo usuário é exibido.
Exemplo de saída:
Se o usuário selecionar a cor “Azul” e clicar em “Enviar”, o navegador exibirá algo assim:
Você escolheu a cor: azul
Tratando erros de seleção
Se o RadioButton for obrigatório (como no exemplo), mas o usuário tentar enviar o formulário sem selecionar uma opção, o navegador impedirá o envio do formulário por conta do atributo required
.
No entanto, caso o RadioButton não seja obrigatório, você pode incluir uma lógica no PHP para lidar com o caso em que nenhuma opção foi selecionada, como já mostrado com o isset()
.
Aplicações comuns de RadioButtons:
- Gênero: Masculino, Feminino, Outro
- Forma de Pagamento: Cartão de Crédito, Boleto, PayPal
- Classificações: Ótimo, Bom, Regular, Ruim
- Respostas de Múltipla Escolha: A, B, C, D
Exemplo completo: Capturando mais dados
Caso você queira capturar mais informações junto com a seleção de RadioButtons, o processo é o mesmo. Aqui está um exemplo mais completo que inclui um campo de texto junto com a seleção da cor:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulário Completo</title>
</head>
<body>
<h2>Seleção de Preferências</h2>
<form action="processa_radio_completo.php" method="POST">
<label for="nome">Nome:</label>
<input type="text" id="nome" name="nome" required><br><br>
<h3>Qual é sua cor favorita?</h3>
<input type="radio" id="vermelho" name="cor" value="vermelho" required>
<label for="vermelho">Vermelho</label><br>
<input type="radio" id="azul" name="cor" value="azul">
<label for="azul">Azul</label><br>
<input type="radio" id="verde" name="cor" value="verde">
<label for="verde">Verde</label><br>
<input type="radio" id="amarelo" name="cor" value="amarelo">
<label for="amarelo">Amarelo</label><br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
E o código PHP para processar esse formulário ficaria assim:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nome = htmlspecialchars($_POST['nome']);
if (isset($_POST['cor'])) {
$corEscolhida = htmlspecialchars($_POST['cor']);
echo "<h2>Olá, $nome! Você escolheu a cor: $corEscolhida</h2>";
} else {
echo "<h2>Olá, $nome! Nenhuma cor foi selecionada.</h2>";
}
} else {
echo "Método de requisição inválido.";
}
?>
Enviar e capturar o valor de RadioButtons em PHP é uma tarefa fácil e muito útil para diversos tipos de formulários. Ao usar o método POST, os dados são transmitidos de forma segura e eficiente. Certifique-se de tratar adequadamente os dados recebidos para evitar problemas de segurança e exibir as informações de maneira clara para o usuário.
Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO e usando orientação a objetos de uma forma fácil de entender.
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:
Dúvidas ou sugestões sobre como enviar valores de RadioButtons em PHP? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Sobre o Autor
0 Comentários