Ir ao conteúdo
  • Cadastre-se

PHP Como Receber Vários Valores de Um Mesmo Input (como uma Checkbox)?


Posts recomendados

Meu projeto de um site para restaurante/pizzaria, tem uma parte que você seleciona sua massa de pizza (radiobox), escolhe cada ingrediente podendo selecionar até 6 ingredientes (checkbox), em seguida, o usuário é direcionado para a página de checkout para confirmar seu pedido. Mas na hora de receber, a página conta apenas o último valor. Como consertar isso?

 

Essa é a form de envio:

<form action="checkout.php" method="GET">
  <fieldset>
    <input type="radio" name="massa" value="1"><label>massa 1</label>
    <input type="radio" name="massa" value="2"><label>massa 2</label>
    <input type="radio" name="massa" value="3"><label>massa 3</label>
  </fieldset>
  <fieldset>
    <input type="checkbox" name="ingrediente" value="1"><label>ingrediente A</label>
    <input type="checkbox" name="ingrediente" value="2"><label>ingrediente B</label>
    <input type="checkbox" name="ingrediente" value="3"><label>ingrediente C</label>
    <input type="checkbox" name="ingrediente" value="4"><label>ingrediente D</label>
    <input type="checkbox" name="ingrediente" value="5"><label>ingrediente E</label>
    <input type="checkbox" name="ingrediente" value="6"><label>ingrediente F</label>
    <input type="checkbox" name="ingrediente" value="7"><label>ingrediente G</label>
    <input type="checkbox" name="ingrediente" value="8"><label>ingrediente H</label>
  </fieldset>
  <input type="submit" value="Continuar">
</form>

Na hora de receber os valores de "ingrediente", eu só consigo receber o último valor.
Exemplo:

<?php
$ingr = intval($_GET['ingrediente']);
echo '<h2>'.$ingr.'</h2>';
?>

Mas aí ele só me dá o último valor.
Tipo, se envio for checkout.php?massa=2&ingrediente=1&ingrediente=4&ingrediente=5&ingrediente=7&ingrediente=8

Ele vai me dar apenas o último valor (8) ao invés de me dar os 5 valores enviados.

Me ajudem por favor!!!

Link para o comentário
Compartilhar em outros sites

Altera o nome ingrediente para ingrediente[] assim você vai receber um array no backend, ou seja,


 

<input type="checkbox" name="ingrediente[]" value="1">

<input type="checkbox" name="ingrediente[]" value="2">

E no php

 

<?php
  foreach($_GET['ingrediente'] as $ingr){
      echo '<h2>'.$ingr.'</h2>';
  }
?>

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!