Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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.
ah sim, acho que agora entendi, mas p/ facilitar, pode nos postar o código do formulário que está usando?
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>ah sim, entendi.
que bom que conseguiu :-)
qualquer coisa, estamos aqui p/ ajudar :-)
eu recomendaria o uso do foreach p/ percorrer o array, assim:
e aí bastaria fazer assim:
Não sei se é bem isso que você quer, mas foi isso que eu entendi da sua pergunta.
espero ter ajudado :-)