Erro Check Box

28/07/2013

Estou utilizando alguns checkboxs e enviando seus valores e armazenando em variáveis php, mas quando eu não marco o checkbox dá erro.

<form name="formulario" action="pagina.php" method="post" >
<tr><th colspan="2">TIPOS DE CARNES</th></tr>
<tr>
<td><input name="picanha" type="checkbox" value=1 > Picanha</td>
<td><input name="maminha" type="checkbox" value=1 > Maminha</td></tr>
<td><input name="costela" type="checkbox" value=1 > Costela</td>
<td><input name="alcatra" type="checkbox" value=1 > Alcatra</td></tr>
<td><input name="cupim" type="checkbox" value=1 > Cupim</td>
<td><input name="linguica" type="checkbox" value=1 > Linquiça</td></tr>
<td><input name="frango" type="checkbox" value=1 > Asinha de Frango</td>
<td><input name="coracao" type="checkbox" value=1 > Coração</td></tr>
<td><input name="contra_file" type="checkbox" value=1 > Contra-Filé</td>
<td><input name="outras_carnes" type="checkbox" value=1 > Outras Carnes</td></tr>
</form>

pagina.php
$homens = $_POST['homens'];
$mulheres = $_POST['mulheres'];
$criancas = $_POST['criancas'];
$picanha = $_POST['picanha'];
$maminha=$_POST['maminha'];
$costela = $_POST['costela'];
$alcatra = $_POST['alcatra'];
$cupim = $_POST['cupim'];
$linguica = $_POST['linguica'];
$frango = $_POST['frango'];
$coracao = $_POST['coracao'];
$contra_file = $_POST['contra_file'];
$outras_carnes = $_POST['outras_carnes'];

Se eu deixar de selecionar algum checkbox ex"costela" minha pagina.php dá erro

Já tentei tentei usar

if (isset($costela)){
$costela=1;
}else{
$costela=0;
}

A variável recebe normal os valores, mas mesmo assim dá um erro na página php...

PHP

Samuel Lopes

Currículo

Respostas

29/07/2013

Bruno Betioli

tente assim:
$homens = (isset($_POST['homens']) && !empty($_POST['homens'])) ? 1 : 0;


Se o checkbox homens estiver selecionado quando o form for submetido ou se o valor do checkbox não for vazio, atribui-se à variável $homens o valor 1. Senão, o valor é zero.

Aplique a lógica às demais variáveis e nos dê um retorno.

OBS: cuidado com a função empty(), o PHP entende o inteiro ou string com valor 0 como vazio também. Para mais detalhes, acesse: [url]http://blog.thiagobelem.net/apredendo-a-usar-as-funcoes-empty-e-isset/[/url]
Responder Citar

30/07/2013

Samuel Lopes Currículo

Muito Obrigado Bruno!
Funcionou blz...
Responder Citar

30/07/2013

José

Samuel obrigado por seu retorno, sendo assim estou dando o tópico por concluído.
Fique a vontade para abrir novos.
Responder Citar