Ir para conteúdo

POWERED BY:

Arquivado

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

FaustiniJr

[Resolvido] CheckBox + PHP + Email

Recommended Posts

Boa tarde, estou construindo um form, que contém de tudo um pouco, textfield, checkbox, radio, etc... para enviar para um email, tudo normal, até ver que as respostas marcadas no checkbox group chegam para mim como "ARRAY", vou postar aqui, como estou fazendo e como está chegando no meu email..

 

//codigo default.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>PESQUISA DE VENDAS</title>

<script type="text/javascript" src="habdesCampo.js"></script>

<script>
function mascara_telefone() {
	if(document.Form.telefone.value.length == 2) {
		document.Form.telefone.value += ' ';
	}
	if(document.Form.telefone.value.length == 7) {
		document.Form.telefone.value += '-';
	}
}
</script>


<style type="text/css">
<!--
body,td,th {
	font-family: Verdana, Geneva, sans-serif;
	font-size: 10px;
	color: #FFF;
}
body {
	background-image: url(bg/bg_b.jpg);
	background-repeat: repeat;
}
-->
</style></head>

<body>
<form name="Form" method="POST" action="envia.php">
   <table width="40%"  border="0" align="center" cellpadding="2" cellspacing="0">
    <tr>
      <td colspan="2"><div align="center" style="font-size:14px"><strong>DADOS DA EMPRESA</strong></div></td>
    </tr>
    <tr>
      <td><strong>Rádio:</strong></td>
      <td><input name="fantasia" type="text" id="fantasia" onFocus="javascript:if(this.value == 'Nome Fantasia') { this.value=''; }" value="Nome Fantasia" size="50" maxlength=25></td>
    </tr>
    <tr>
      <td><strong>Nome:</strong></td>
      <td><input name="nome" type="text" id="razao" onFocus="javascript:if(this.value == 'Nome Completo') { this.value=''; }" value="Nome Completo" size="50" maxlength="50"></td>
    </tr>
    <tr>
      <td><strong>Telefone:</strong></td>
      <td><input name="telefone" type="text" id="telefone" onFocus="javascript:if(this.value == '00 0000-0000') { this.value=''; }" onKeyUp="mascara_telefone()" value="00 0000-0000" size="15" maxlength=12> 
        <font color="#FF9900"><strong>Somente Números</strong></font></td>
    </tr>
    <tr>
      <td><strong>Cidade:</strong></td>
      <td><input name="cidade" type="text" id="cidade" onFocus="javascript:if(this.value == 'Sua Cidade') { this.value=''; }" value="Sua Cidade" size="50" maxlength="30"></td>
    </tr>
    <tr>
      <td><strong>Estado:</strong></td>
      <td><input name="uf" type="text" id="uf" onFocus="javascript:if(this.value == 'UF') { this.value=''; }" value="UF" size="5" maxlength=2> 
        <font color="#FF9900"><strong>Ex: MG</strong></font></td>
    </tr>
    <tr>
      <td><strong>E-mail:</strong></td>
      <td><input name="email" type="text" id="email" onFocus="javascript:if(this.value == 'seuemail@empresa.com') { this.value=''; }" value="seuemail@empresa.com" size="50" maxlength="30"></td>
    </tr>
    <tr>
      <td colspan="2"><div align="center" style="font-size:14px"></div></td>
    </tr>    
    <tr>
      <td colspan="2"><div align="center" style="font-size:14px"><strong>PESQUISA DE VENDAS</strong></div></td>
    </tr> 
    <tr>
      <td colspan="2"><div align="left">
        <p><font size="-1"><strong>01. Qual o motivo que impediu o fechamento da compra?</strong></font></p>
        <p>
          <label>
            <input type="checkbox" name="motivo[0]" value="Atendimento" id="motivo" onClick="desabilitaCampo('otherMot');">
            Atendimento</label>
          <br>
          <label>
            <input type="checkbox" name="motivo[1]" value="Preço" id="motivo" onClick="desabilitaCampo('otherMot');">
            Preço</label>
          <br>
          <label>
            <input type="checkbox" name="motivo[2]" value="Forma de Pagamento" id="motivo" onClick="desabilitaCampo('otherMot');">
            Forma de Pagamento</label>
          <br>
          <label>
            <input type="checkbox" name="motivo[3]" value="Condições Financeiras" id="motivo" onClick="desabilitaCampo('otherMot');">
            Condições Financeiras</label>
          <br>
          <label>
            <input type="checkbox" name="motivo[4]" value="Retorno do Vendedor" id="motivo" onClick="desabilitaCampo('otherMot');">
            Retorno do Vendedor</label>
          <br>
          <label>
            <input type="checkbox" name="motivo[5]" value="Outro Motivo" id="motivo" onClick="habilitaCampo('otherMot');">
            Outro Motivo</label>
          </p>
        <p>
          <label>
            <textarea name="otherMot" id="otherMot" cols="50" rows="5" disabled="disabled" onFocus="javascript:if(this.value == 'Caso tenha outro motivo, descreva aqui!') { this.value=''; }">Caso tenha outro motivo, descreva aqui!</textarea>
          </label>
          <br>
        </p>
      </div></td>
    </tr>
    <tr>
      <td colspan="2"><div align="left">
        <p><font size="-1"><strong>02. Quais os softwares que orçou?</strong></font></p>
        <p>
          <label>
            <input type="checkbox" name="orcamento[0]" value="Playlist Dig 5" id="orcamentosf">
            Playlist Digital 5.0</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[1]" value="Playlist Full" id="orcamentosf">
            Playlist Full</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[2]" value="Playlist S.A" id="orcamentosf">
            Playlist S.A</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[3]" value="Playlist Indoor" id="orcamentosf">
            Playlist Indoor</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[4]" value="Playlist Maker" id="orcamentosf">
            Playlist Maker</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[5]" value="Comercial Playlist" id="orcamentosf">
            Comercial Playlist</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[6]" value="Censura Multiplacas" id="orcamentosf">
            Censura Multiplacas</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[7]" value="Up Full" id="orcamentosf">
            Upgrade Full</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[8]" value="Up S.A" id="orcamentosf">
            Upgrade S.A</label>
          <br>
          <label>
            <input type="checkbox" name="orcamento[9]" value="Up 5" id="orcamentosf">
            Upgrade 5.0</label>
          <br>
        </p>
      </div></td>
    </tr>      
    <tr>
      <td colspan="2"><div align="left">
        <p><font size="-1"><strong>03. Qual software que utiliza?</strong></font></p>
        <p>
          <label>
            <textarea name="sw_util" id="sw_util" cols="50" rows="5"></textarea>
          </label>
        </p>
      </div></td>
    </tr>
    <tr>
      <td colspan="2"><div align="left">
        <p><font size="-1"><strong>04. Esta satisfeito?</strong></font></p>
        <p>
          <label>
            <input type="radio" name="satisfeito" value="sim" id="satisfeito">
            Sim</label>
          <br>
          <label>
            <input type="radio" name="satisfeito" value="nao" id="satisfeito">
            Não</label>
        </p>
      </div></td>
    </tr>
    <tr>
      <td colspan="2"><div align="left">
        <p><font size="-1"><strong>05. Deseja receber nova proposta dos softwares da Playlist?</strong></font></p>
        <p>
          <label>
            <input type="radio" name="new_prop" value="sim" id="new_prop" onClick="desabilitaCampo('pq');">
            Sim</label>
          <br>
          <label>
            <input type="radio" name="new_prop" value="nao" id="new_prop" onClick="habilitaCampo('pq');">
            Não</label>
          <br>
          <label>
            <textarea name="pq" id="pq" cols="50" rows="5" disabled="disabled" onFocus="javascript:if(this.value == 'Por quê?') { this.value=''; }">Por quê?</textarea>
          </label>
        </p>
      </div></td>
    </tr>
    <tr>
      <td colspan="2"><div align="left">
        <p><font size="-1"><strong>06. Caso tenha alguma reclamação ou não tenha encontrado algum recurso que necessita no software, descreva abaixo sua sugestão:</strong></font></p>
        <p>
          <label>
            <textarea name="sugest" id="sugest" cols="50" rows="5"></textarea>
          </label>
        </p>
      </div></td>
    </tr>                      
    <tr>
      <td> </td>
      <td><input type="submit" name="Submit" value="Cadastrar"></td>
    </tr>
  </table>
</form>
</body>
</html>

//codigo envia.php

<?
//Adicione abaixo a variável conforme a estrutura abaxio
//Exemplo: $endereco =  $_POST["endereco"];
      // $endereco é a variavel que recebe o campo do formulário html
      //que deverá obrigatóriamente se chamar endereco, letras maiusculas e minusculas
      //fazem diferença
      //$_POST["campo do formulário"]; é a expressão que por metodo post pega o campo
      //do formulário e atribui a variável que está antes com o mesmo nome do campo.
      // Se adiconar variaveis aqui adicione os campos também no formulário HTML do site

$fantasia  = $_POST["fantasia"];
$nome      = $_POST["nome"];
$tel       = $_POST["telefone"];
$cidade    = $_POST["cidade"];
$estado    = $_POST["uf"];
$email	   = $_POST["email"];

$res1 	   = $_POST['motivo']; 
while(List($key, $value)=each($res1)){ 
} 

$motivo    = $_POST["otherMot"];

$res2 	   = $_POST['orcamento'];  
while(List($key, $value)=each($res2)){ 
} 

$res3	   = $_POST["sw_util"];
$res4	   = $_POST["satisfeito"];
$res5	   = $_POST["new_prop"];
$pq	   	   = $_POST["pq"];
$res6	   = $_POST["sugest"];
$assunto   = "Pesquisa de Vendas";

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
$navegador = $_SERVER['HTTP_USER_AGENT'];       //função para pegar o navegador do visitante
$hora      = date("H:i");                       //para pegar a hora com a função date

//aqui envia o e-mail para você
$envia = mail("paulo.faustini@playlist.com.br", 
//email aonde o php vai enviar os dados do form

      "$assunto", //Não altere é o assunto digitado no formulário html
      //Se você adicionou algum campo lá no inicio você deverá colocar logo abaixo também
      //para o script poder enviar corretamente para o seu email
      //Exemplo de como adicionar:  Campo_do_Formulário: $variável\n
      //A variável da sentença acima deve ser a mesma que você colocou para o campo no alto deste script \n é para quebrar a linha para baixo
      // lembre que se for adicionar no inicio da linha abaixo de não excluir as " aspas,
      // Se for no final também " deve ter aspas.
      
"Rádio: $fantasia\nNome: $nome\nData: $data\nIp: $ip\nHora: $hora\nContato: $tel\nCidade: $cidade\nEstado: $estado\nEmail: $email\n\n\n
1-Qual o motivo que impediu o fechamento da compra? $res1\n
Outro Motivo: $motivo\n\n
2-Quais os softwares que orçou? $res2\n\n
3-Qual software que utiliza? $res3\n\n
4-Esta satisfeito? $res4\n\n
5-Deseja receber nova proposta? $res5\n
Se Não, Por quê? $pq\n\n
6-Alguma Sugestão/Reclamação? \n
$res6\n",
      "From: $email"
     );

if ($envia) {
     Header("location:http://www.playlist.com.br/ptbr/form_pesq/obg.htm"); //essa é a página de obrigado.
     }
else {
echo "Problemas no envio, por favor tente novamente!";
echo "<a href='http://www.playlist.com.br/ptbr/form_pesq/default.htm'>Voltar</a>"; /*no lugar de index.htm, coloque
a página para onde você deseja redirecionar caso o formulário apresente
algum problema no preenchimento.
*/
}

//aqui são as configurações para enviar o e-mail para o visitante
$site   = "paulo.faustini@playlist.com.br";    //o e-mail que aparecerá na caixa postal do visitante
$titulo = "Pesquisa de Vendas";     //titulo da mensagem enviada para o visitante
$msg    = "Seu email foi recebido por nossos consultores.\n Obrigado por colaborar conosco.\n\nAtenciosamente,\nCentral de Vendas - Playlist Soluções.\n(31)2136.2929"; //aqui envia o e-mail de auto-resposta para o visitante

mail("$email",
     "$titulo",
     "$msg",
     "From: $site"
    );

?>

//email que chega com os resultados da pesquisa

Rádio: Vanguarda 95.3 FM

Nome: Ronaldo

Data: 22/10/09

Ip: 200.139.165.189

Hora: 13:26

Contato: 31 3821-2995

Cidade: Ipatinga

Estado: MG

Email: faustinijr@radiogalaxia.com.br

 

 

 

1-Qual o motivo que impediu o fechamento da compra? Array

 

Outro Motivo: Não tem o módulo para cadastro de clientes

 

 

2-Quais os softwares que orçou? Array

 

 

3-Qual software que utiliza? Informa

 

 

4-Esta satisfeito? nao

 

 

5-Deseja receber nova proposta? sim

 

Se Não, Por quê?

 

 

6-Alguma Sugestão/Reclamação?

 

Construção de um módulo para cadastro de ouvintes

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque isto

$res1      = $_POST['motivo']; 
while(List($key, $value)=each($res1)){ 
} 

Por isto

$res1 = implode(', ',$_POST['motivo']); 

E faça o mesmo no outro. Vai funcionar.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui de outra maneira, mas devo utilizar essa forma que você passou, já que separa os resultados... veja como fiz:

 

$res1 = "";
if(isset($_POST["motivo"])){
	// Faz loop pelo array dos numeros
	foreach($_POST["motivo"] as $mot){
		$res1 .= $mot;
	}
}

grato pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

por favor senhores, como faço para os campos serem obrigatórios e não darem um erro como o abaixo caso o usuário tente mandar tudo em branco?

 

 

Warning: implode() [function.implode]: Invalid arguments passed in /home/somarbhc/public_html/envia.php on line 18

Warning: Variable passed to each() is not an array or object in /home/somarbhc/public_html/envia.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /home/somarbhc/public_html/envia.php:18) in /home/somarbhc/public_html/envia.php on line 66

 

 

 

E aproveitando já parabenizo pelo post, é de gande ajuda.

 

 

Grato.

Bruno.

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.