tiujhou 7 Denunciar post Postado Março 20, 2011 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
André Severino 3 Denunciar post Postado Março 20, 2011 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
tiujhou 7 Denunciar post Postado Março 20, 2011 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
André Severino 3 Denunciar post Postado Março 20, 2011 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
tiujhou 7 Denunciar post Postado Março 26, 2011 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