Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tiujhou

[Resolvido] CheckBox e Select Formulario

Recommended Posts

Eh o seguinte... criei um formulario.. no qual ... quando envio ... tenho uma opção select ... com todos os estados do Brasil ... e outra com Checkbox.. com tres opções... No caso formulario envia normalmente as opções type="text" ... mais o select e checkbox ... estou tendo erro ... Tanto que nunca havia utilizado estes antes ...

O select ... só fica na opção AC ... eu posso escolher qualquer estado Brasileiro ... mais ele soh mostra o Acre no Email ... Ja o checkboa ... envia a opção marcada ... mais o problema que se a pessoa marcar 2 opções ele só mostra uma no email ...

 

o select esta da seguinte maneira ...

 

<p>

<label>Estado</label>

<select name="estado" >

<option value="AC">Acre</option>

<option value="AL">Alagoas</option>

<option value="AP">Amapá</option>

<option value="AM">Amazonas</option>

<option value="BA">Bahia</option>

<option value="CE">Ceará</option>

<option value="DF">Distrito Federal</option>

<option value="ES" selected="selected">Espírito Santo</option>

<option value="GO">Goiás</option>

<option value="MA">Maranhão</option>

<option value="MT">Mato Grosso</option>

<option value="MS">Mato Grosso do Sul</option>

<option value="MG">Minas Gerais</option>

<option value="PA">Pará</option>

<option value="PB">Paraíba</option>

<option value="PR">Paraná</option>

<option value="PE">Pernambuco</option>

<option value="PI">Piauí</option>

<option value="RJ">Rio de Janeiro</option>

<option value="RS">Rio Grande do Sul</option>

<option value="RN">Rio Grando do Norte</option>

<option value="RO">Rondônia</option>

<option value="RR">Roraima</option>

<option value="SC">Santa Catarina</option>

<option value="SP">São Paulo</option>

<option value="SE">Sergipe</option>

<option value="TO">Tocantins</option>

</select>

 

 

</p>

 

já o checkbox esta assim...

 

<label for="tipo-servico">Tipo de serviço</label>

 

<input type="checkbox" id="tipo-servico" value="Site" name="tiposervico" checked>

<span class="checkbox-font">Site </span>

<br/>

<input type="checkbox" id="tipo-servico" value="Blog" name="tiposervico" />

<span class="checkbox-font">Blog</span>

<br/>

<input type="checkbox" id="tipo-servico" value="Protetor" name="tiposervico" />

<span class="checkbox-font">Protetor</span>

 

</p>

 

... Apenas para recapitular... minha duvida eh .. como que faço para o select enviar a opções que escolhi... ao invés de enviar apenas o estado do acre - AC ... já o checkbox.. gostaria de saber como que faço para ele enviar 2 opções ao inves de apenas uma ... como esta acontecendo ... pois eu marco duas e ele só envia uma...

 

 

o arquivo enviar é este...

<?

//pega as variaveis por POST

$nome = $_POST["nome"];

$email = $_POST["email"];

$empresa = $_POST["empresa"];

$atuacao = $_POST["atuacao"];

$estado = $_POST["estado"];

$cidade = $_POST["cidade"];

$tiposervico = $_POST["tiposervico"];

$mensagem = $_POST["mensagem"];

 

global $email; //função para validar a variável $email no script todo

 

$data = date("d/m/y"); //função para pegar a data de envio do e-mail

$ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário

$hora = date("H:i"); //para pegar a hora com a função date

 

//aqui envia o e-mail para você

mail ("meuemail@hotmail.com", //email aonde o php vai enviar os dados do form

"$nome",

"Data: $data\nIp: $ip\nHora: $hora\nNome: $nome\nE-mail: $email\nEmpresa: $empresa\nAtuação: $atuacao\nEstado: $estado\nCidade: $cidade\nTipo de Serviço: $tiposervico\nMensagem: $mensagem",

"From: $email"

);

 

//aqui são as configurações para enviar o e-mail para o visitante

$nossoemail = "meuemail@hotmail.com"; //o e-mail que aparecerá na caixa postal do visitante

$titulo = "www.meu site.com"; //titulo da mensagem enviada para o visitante

$msg = "$nome, obrigado por entrar em contato conosco, em breve retornaremos.\n\nEnviado por você:\nData: $data\nIp: $ip\nHora: $hora\nNome: $nome\nE-mail: $email\nEmpresa: $empresa\nAtuação: $atuacao\nEstado: $estado\nCidade: $cidade\nTipo de Serviço: $tiposervico\nMensagem: $mensagem \n\n Att: http://www.meusite.com";

//aqui envia o e-mail de auto-resposta para o visitante

mail("$email",

"$titulo",

"$msg",

"From: $nossoemail"

);

 

echo "<script>window.location=('../contato/enviado.php')</script>";

?>

 

Ateh +++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparentemente o problema com relação ao estado é outra. Você deve estar selecionando ele sem querer.

 

A questão dos checkbox você deve utilizar um foreach() para percorrer o array e depois enviar o e-mail, segue abaixo um exemplo simples.

 

No formulário você adiciona tiposervico[]

// Remova esse espaço antes de fechar o select, pode ser isso.
<select name="estado" > 

// nos checkbox
<input type="checkbox" id="tipo-servico" value="Site" name="tiposervico[]" checked>
<span class="checkbox-font">Site </span>
<br/>
<input type="checkbox" id="tipo-servico" value="Blog" name="tiposervico[]" />
<span class="checkbox-font">Blog</span>
<br/>
<input type="checkbox" id="tipo-servico" value="Protetor" name="tiposervico[]" />
<span class="checkbox-font">Protetor</span>

 

Resgatando os valores dos checkbox

<?php
$tiposervico = $_POST["tiposervico"];
foreach($tiposervico as $valor) {
	echo 'Tipo serviço: ' . $valor . '<br>';
}
?>

 

Qualquer dúvida, volte a postar :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparentemente o problema com relação ao estado é outra. Você deve estar selecionando ele sem querer.

 

A questão dos checkbox você deve utilizar um foreach() para percorrer o array e depois enviar o e-mail, segue abaixo um exemplo simples.

 

No formulário você adiciona tiposervico[]

// Remova esse espaço antes de fechar o select, pode ser isso.
<select name="estado" > 

// nos checkbox
<input type="checkbox" id="tipo-servico" value="Site" name="tiposervico[]" checked>
<span class="checkbox-font">Site </span>
<br/>
<input type="checkbox" id="tipo-servico" value="Blog" name="tiposervico[]" />
<span class="checkbox-font">Blog</span>
<br/>
<input type="checkbox" id="tipo-servico" value="Protetor" name="tiposervico[]" />
<span class="checkbox-font">Protetor</span>

 

Resgatando os valores dos checkbox

<?php
$tiposervico = $_POST["tiposervico"];
foreach($tiposervico as $valor) {
	echo 'Tipo serviço: ' . $valor . '<br>';
}
?>

 

Qualquer dúvida, volte a postar :thumbsup:

 

 

Tipo eu inseri isso em enviar...

 

$nome = $_POST["nome"];

$email = $_POST["email"];

$empresa = $_POST["empresa"];

$atuacao = $_POST["atuacao"];

$estado = $_POST["estado"];

$cidade = $_POST["cidade"];

$tiposervico = $_POST["tiposervico"];

foreach($tiposervico as $valor) {

echo 'Tipo serviço: ' . $valor . '<br>';

}

$mensagem = $_POST["mensagem"];

 

E fiz as modificações em no checkbox [] ....

 

 

Mais ele me envia isso no email ..

 

Tipo de Serviço: Array

Num aparece a opção toda ... Eu tenho que fazer alguma modificação em enviar??? pois quando envio antes de aparecer a pagina enviado com sucesso aparece rapidamente as opção marcadas ... mais no corpo do email elas num aparecem ... Eu tenho que fazer algo na variavel valor ????

 

Já o select acho que esta dando erro por causa do jquery que estou usando para customizar...

 

Vlws ateh +++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, você viu a parte do foreach, você testou ela?

 

Qnd você usa o foreach você percorre o array para imprimir nesse lugar.

 

// Resgatando os valores dos checkbox

<?php
$tiposervico = $_POST["tiposervico"];
       foreach($tiposervico as $valor) {
               echo 'Tipo serviço: ' . $valor . '<br>';
       }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, você viu a parte do foreach, você testou ela?

 

Qnd você usa o foreach você percorre o array para imprimir nesse lugar.

 

// Resgatando os valores dos checkbox

<?php
$tiposervico = $_POST["tiposervico"];
       foreach($tiposervico as $valor) {
               echo 'Tipo serviço: ' . $valor . '<br>';
       }
?>

 

Então eu havia feito isso .. e deu errado ... tava aparecendo Array como resposta ....

Ai hj um professor fez para mim e deu certo...

$array_tiposervico  = $_POST["tiposervico"];
foreach($array_tiposervico as $chave => $campo){
$tiposervico .= $campo;	
if($chave != count($array_tiposervico)){
	$tiposervico .= ", ";	
}
}

 

jah a questão do select ... tava dando erro por causa de um arquivo jquery que tava customizando ... foi eu retira-lo e funcionoou perfeitamente ...

 

Flws ateh +++

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.