F-gos 0 Denunciar post Postado Março 9, 2011 Pessoal bom dia! Preciso montar um formulario de pedidos onde a pessoa digita o nome do produto e quantidade e envia por email.. os campos produto e quantidade precisa ser um array. Mas não sei como fazer para enviar o formulario por e-mail... estou utilizando como base esse tutorial de array em formulario com checkbox. <html> <head> <title>Array en Forma :: PHP</title> <head> <body> <br /> <b>Selecciona tus postres favoritos:</b><br /><br /> <form method="post" action="<?= $_SERVER['PHP_SELF'] ?>"> <input name="postre[]" type="checkbox" value="Helado de Vainilla">Helado de vanilla<br /> <input name="postre[]" type="checkbox" value="Pastel de Chocolate">Pastel de Chocolate<br /> <input name="postre[]" type="checkbox" value="Pay de elote">Pay de elote<br /> <input name="postre[]" type="checkbox" value="Bubulubu">Bubulubu<br /> <input name="postre[]" type="checkbox" value="Duraznos en almibar">Duraznos en almibar<br /> <input name="postre[]" type="checkbox" value="Fresas con crema">Fresas con crema<br /> <input name="send" type="submit" id="send" value="Enviar!"> </form> <?php if (isset($_POST['postre'])) { $postre = $_POST['postre']; $n = count($postre); $i = 0; echo "Tus postres favoritos son: \n" . "<ol>"; while ($i < $n) { echo "<li>{$postre[$i]}</li> \n"; $i++; } echo "</ol>"; } ?> e o metodo que utilizo para enviar as mensagens de formulario por email é: pego as variaveis por $_post: $mensagem .= "Assunto = $assunto .\n\n"; $mensagem .= "Nome = $nome \n"; $mensagem .= "E-mail = $email \n"; $mensagem .= "Endereço = $endereco .\n"; mail($destinatario, $subject, $mensagem, $headers); monto a mensagem e envio com a função mail. alguem pode dar uma força e me explicar como fazer o envio do array? Compartilhar este post Link para o post Compartilhar em outros sites
MrZer0 0 Denunciar post Postado Março 9, 2011 eu recomendaria o uso do foreach p/ percorrer o array, assim: <?php if (isset($_POST['postre'])) { foreach($_POST['postre'] as $val) { $opcoes .= $val."<br/>"; } } ?> e aí bastaria fazer assim: $mensagem .= "Assunto = $assunto .\n\n"; $mensagem .= "Nome = $nome \n"; $mensagem .= "E-mail = $email \n"; $mensagem .= "Endereço = $endereco .\n"; $mensagem .= "Opções = ".$opcoes."\n"; mail($destinatario, $subject, $mensagem, $headers); Não sei se é bem isso que você quer, mas foi isso que eu entendi da sua pergunta. espero ter ajudado :-) Compartilhar este post Link para o post Compartilhar em outros sites
welitonjose 1 Denunciar post Postado Março 9, 2011 kra eu recomendo você enviar a array como string usando o implode na sua array ver link Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Março 9, 2011 então oq eu preciso é receber os dados do formulario no e-mail dessa forma: 1. nome produto - quantidade 2. nome produto - quantidade 3. nome produto - quantidade 4. nome produto - quantidade vou fazer os testes aqui e qualquer coisa volto a postar. Obrigado pela força. Compartilhar este post Link para o post Compartilhar em outros sites
MrZer0 0 Denunciar post Postado Março 9, 2011 ah sim, acho que agora entendi, mas p/ facilitar, pode nos postar o código do formulário que está usando? Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Março 9, 2011 MrZer0 fiz um teste utilizando $_request e funcionou da uma olhada no codigo: <?php $cont = 0; $cond = true;while ($cond){ $msg .= $_REQUEST['codigo'][$cont] . " | "; $msg .= $_REQUEST['descricao'][$cont] . " | "; $msg .= $_REQUEST['quant'][$cont] . " | "; $msg .= $_REQUEST['valor'][$cont] . "<br/>"; if (!($_REQUEST['codigo'][$cont + 1])) { $cond = false; } $cont++; } $mensagem .= "FORMULARIO DE PEDIDO"."<br/>"; $mensagem .= "Texto sobre o cliente" . "<br/><br/>"; $mensagem .= "ITENS DO PEDIDO"."|" ."<br/>"; $mensagem .= "<strong>"."Codigo | Descricao | Quant. | Valor "."</strong>"."<br/>"; $mensagem .= "$msg"; $email =[email="email@email.com.br"]email@email.com.br[/email]; $destinatario = "[email="email@email.com.br"]email@email.com.br[/email]"; $formato = "\nContent-type: text/html\n"; mail("$destinatario", "Pedido enviado pelo site", "$mensagem", "from: " . $email . $formato); echo "<script language='javascript'> window.alert('Mensagem enviada com sucesso.'); window.location = 'index.php'; </script>"; ?> os campos do formulario estou utilizando um js para inserir e excluir dinamicamente. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "[url="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"]http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd[/url]"> <html xmlns="[url="http://www.w3.org/1999/xhtml"]http://www.w3.org/1999/xhtml[/url]" xml:lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery.min.js"> </script> <script type="text/javascript" src="funcoes_2.js"> </script> </head> <body> <form action="enviar_2.php" method="post"> <div class="dados"> <p class="campoDados"> <input name="codigo[]" type="text" size="20" id="codigo[]" /> <input name="descricao[]" type="text" size="50" id="descricao[]" /> <input name="quant[]" type="text" size="20" id="quant[]" /> <input name="valor[]" type="text" size="20" id="valor[]" /> <a href="#" class="removerCampos">Remover Campos</a> </div> <p> <a href="#" class="adicionarCampos">Adicionar campos</a></p> <input type="submit" value="enviar"> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
MrZer0 0 Denunciar post Postado Março 9, 2011 ah sim, entendi. que bom que conseguiu :-) qualquer coisa, estamos aqui p/ ajudar :-) Compartilhar este post Link para o post Compartilhar em outros sites