Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) formulario php com checkbox


gersonab

Pergunta

Galera, bom dia.

É o seguinte, tenho um formulário que esta funcionando perfeitamente, só que gostaria de incluir alguns itens de checkbox , seria uma pergunta com mais de uma resposta .

O código html esta pronto , a inclusão seria algo assim :

form.html

Código:

<td><label>Caracteristicas do local :</label></td> 
</tr> 
<tr> 
<td><div align="left"> 
<table align="center" width="375" border="0"> 
<tr> 
<td width="125"><input type="checkbox" name="local[]" value="Bar,Lanchonete"  /> 
Bar,Lanchonete</td> 
<td width="125"><input type="checkbox" name="local[]" value="Restaurante" /> 
Restaurante</td> 
<td width="125"><input type="checkbox" name="local[]" value="Supermercado" /> 
Supermercado</td> 
</tr>
esta parte do html esta pronta, estou mostrando ela resumida acima. já no formulario.php , é que esta a duvida, como obter mais de uma resposta e enviar por email .... formulario.php Código:
<?php 
$nome = $_POST['nome']." \n"; 
$email = $_POST['email']." \n"; 
$mensagem = "Nome: ".$_POST['nome']." \n"; 
$mensagem .= "Tel: ".$_POST['tel']." \n"; 
$mensagem .= "Cidade: ".$_POST['cidade']." \n"; 
$mensagem .= "Email: ".$_POST['email']." \n"; 
$mensagem .= "Assunto: ".$_POST['assunto']." \n"; 
$mensagem .= "Descrição:". $_POST['mensagem']; 
$headers .="From:$nome\r\n"; 
mail("meu email", "Formulário - ", $mensagem , $headers); 

?> 
<table align="center" width="250" border="2" bgcolor="#F4F4F4"><tr><td align="center"> 
<? 
echo '<h3>Enviado com Sucesso!</h3>'; 
echo '<h3>Em breve entraremos em contato.</h3>'; 
?> 
<br /> 
<a href="../principal.php" target="centro"> Voltar </a> 
</td></tr></table>
no caso eu acrecentei a linha : Código:
$mensagem .= "Caracteristicas do local : ". $local[0]." \n";

só que esta me retorna apenas uma resposta, gostaria que me retornasse todas as opções marcadas no checkbox, tem como ?

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Encontrei tb outro exemplo na net...

checkbox.html

<form action="checkbox.php" method="post">

<B>Escolha os numeros de sua preferência:</B><br>

<input type=checkbox name="numeros[]" value=10> 10<br>

<input type=checkbox name="numeros[]" value=100> 100<br>

<input type=checkbox name="numeros[]" value=1000> 1000<br>

<input type=checkbox name="numeros[]" value=10000> 10000<br>

<input type=checkbox name="numeros[]" value=90> 90<br>

<input type=checkbox name="numeros[]" value=50> 50<br>

<input type=checkbox name="numeros[]" value=30> 30<br>

<input type=checkbox name="numeros[]" value=15> 15<br><BR>

<input type=checkbox name="news" value=1> <B>Receber

Newsletter?</B><br><BR>

<input type=submit>

</form>

checkbox.php

<?php

// Verifica se usuário escolheu algum número

if(isset($_POST["numeros"]))

{

echo "Os números de sua preferência são:<BR>";

// Faz loop pelo array dos numeros

foreach($_POST["numeros"] as $numero)

{

echo "- " . $numero . "<BR>";

}

}

else

{

echo "Você não escolheu número preferido!<br>";

}

// Verifica se usuário quer receber newsletter

if(isset($_POST["news"]))

{

echo "Você deseja receber as novidades por email!";

}

else

{

echo "Você não quer receber novidades por email...";

}

?>

só não entendi como colocar no meu formulário.php , ambos os exemplos , onde apareceria a $mensagem ....

Link para o comentário
Compartilhar em outros sites

  • 0

Imagino que você tenha tentando pelo menos uma vez, né?

Um exemplo de como poderia funcionar...

foreach($_POST["local"] as $local)
{
$mensagem .= "Caracteristicas do local : ". $local." \n";
}

Você vai notar que se tiver duas caracteristicas vai aparecer:

Caracteristicas do local : caracteristica 1

Caracteristicas do local : caracteristica 2

Etc, caso você não queira que apareça em todas as linhas "Caracteristicas do local ", conte a quantidade de elementos do $_POST["local"] (isso se faz com a função count), e só mande imprimir essa informação na primeira volta do foreach...

Link para o comentário
Compartilhar em outros sites

  • 0

já havia tentado de varias outras formas .... e nada,

Desta forma apresentada deu certo sim, conforme você informou com várias linhas ....

já abusando da sua boa vontade , pois sou iniciante em php, como de pra perceber.

Etc, caso você não queira que apareça em todas as linhas "Caracteristicas do local ", conte a quantidade de elementos do $_POST["local"](isso se faz com a função count), e só mande imprimir essa informação na primeira volta do foreach...

Andei pesquisando esta função " count " , só não consegui ainda relaciona-la ao que preciso ...

Onde o ideal seria :

" caracteristicas do local - 1 - 2 - 5 - 6 - 8 "

Espero que tenha entendido.

Link para o comentário
Compartilhar em outros sites

  • 0

maneira mais facil de imprimir só o que foi selecionado

é fazer dentro do foreach

if($local== null || $local=="") $_mensagem.="Caracteristicas do local : ".$local."\n";
// você pode fazer assim também:
$mensagem.="Característocas do local:";
foreach($_POST['local'] as $local){
   if($local== null || $local=="") $_mensagem.=$local." ";
}
$mensagem.="\n";

=D

Editado por Eric Freitas
Link para o comentário
Compartilhar em outros sites

  • 0
nos dois casos nada foi impresso , isto é , nenhuma resposta .

estranho!

AuaHuaHuahua

ao invés de ==null ou ==""

poe !=null e !=""

=D coloquei errado

porque vou te explicar o que fiz em port

se local for vazio ou nulo escrever xxx

quando era pra ser

se local não for vzaio nem nulo escrever xxx

entede?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...