Ir ao conteúdo
  • Cadastre-se
Bruna Siqueira

WordPress RESOLVIDO Formulario de solicitação de orçamento

Recommended Posts

boa tarde!

Estou finalizando o site de um cliente, e ele precisa de um formulário para o cliente solicitar orçamento.

Ele tem dois modelos de orçamento prontos

um pra menos de 100 pessoas e outro para mais de 100 pessoas

preciso que de acordo com a seleção do número de pessoas ele envie um texto diferente pra pessoa, ou um arquivo diferente

Estou usando o ContactForm7, tem como fazer isso? ou tem indicação deo utra forma ou plugin de solucionar o problema?

 

orçamento.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Bruna Siqueira Olá,  como você vai usar o php para fazer o envio de e-mail,  você pode criar um teste.

 

Ao submeter o formulário, o arquivo php recebe o valor  do checkbox ou radio button.

E compara em um IF .

 

Se for de 1 a 50 você executa o processo de enviar o e-mail com um texto para  até 50 pessoas, se for de 51 a 100, executa o processo de enviar e-mail com texto de 51 a 100 pessoas,  senão se for acima de 100 você manda o e-mail com o texto personalizado para mais de 100 pessoas.

 

Você pode fazer tanto com IF ou switch -case.

 

Podes criar uma função de envio do e-mail  e aí chamar esta função no teste.

Vou tentar dar um exemplo bem simples:

<?php
   $qtdPessoas = $_POST["qtd_pessoas"];

   if($qtdPessoas == "1 a 50"): 
        //envia o e-mail com um texto personalizado aqui 
   elseif ($qtdPessoas == "51 a 100"):
        //envia o -email com o texto para entre 51 e 100 pessoas

   else:
      //se cair nesse bloco é porque o 100 a 200 pessoas foi escolhido
   endif;

Só lembre que se usar o checkbox como usou, terá a possibilidade da pessoa marcar mais de um.  aí o teste vai falhar.

Casos assim, o ideal é usar o radio button que permite apenas 1 escolha por vez.

 

Mas caso você precise fazer com múltiplas escolhas, aí seria muito mais complicado porque você teria que fazer uma iteração dos elementos selecionados com o foreach  e ai testar para saber quem é quem e mandar o e-mail.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou testar, não, é só uma opção que a pessoa pode escolher, vou alterar e já te digo se funcionou.

valeu

adicionado 45 minutos depois

Está dando o seguinte erro quando coloco no function.php (do tema)

Citação

 

As mudanças no seu código PHP foram desfeitas devido a um erro na linha 6 do arquivo wp-content/themes/onetone/functions.php. Corrija e tente salvar novamente.

syntax error, unexpected 'if' (T_IF)

 

 

o código que apliquei lá foi

<?php
 //ENVIO DE ORÇAMENTO
   $qtdPessoas = $_POST["qtd_pessoas"];

   if($qtdPessoas == "1 a 50"): 
        O valor é R$100,00
   elseif ($qtdPessoas == "51 a 100"):
       O valor é R$200,00
   else:
      //se cair nesse bloco é porque o 100 a 200 pessoas foi escolhido
   endif;

<?php

e no formulario acrescentei um action

action="<?php  $qtdPessoas = $_POST["qtd_pessoas"]; ?>"

 

adicionado 45 minutos depois

@dif

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Bruna Siqueira Infelizmente eu não posso ajudar com o funcionamento do tema do wordpress, pois não tenho conhecimento suficiente para ele.

 

O que eu apontei foi apenas uma  sugestão para você implementar! 

O action ali não sei se está certo, porque no caso em especifico, você só está passando o valor do campo qtd_pessoas e nada mais.

 

Veja que você tem 6 campos para serem enviado e não só o qtd_pessoas.

 

O action precisa ser assim:

action="recebeDados.php"

Este arquivo recebeDados.php é o responsável por receber os dados do formulário. Aí sim você pode fazer o teste.

 

Ainda ali no if, também vejo que você colocou uma frase solta..  dá errado também.

 

Use o echo:

 if($qtdPessoas == "1 a 50"): 
       echo " O valor é R$100,00";
   elseif ($qtdPessoas == "51 a 100"):
      echo " O valor é R$200,00";
   else:
      //se cair nesse bloco é porque o 100 a 200 pessoas foi escolhido
   endif

Mas não é só isso, você precisa enviar o e-mail para a pessoa certo?

 

Então de alguma forma você precisa usar uma classe de envio e-mails como phpmailer ou usar a função nativa mail()...  por recomendação, indico a classe phpmailer.

Não vou entrar no mérito de explicar essa classe aqui porque senão iria ficar extenso demais.

 

Mas posso dizer que com ele, você pode criar uma função de enviar o e-mail com o orçamento escolhido..

algo como isso:

function  enviaOrcamento($email, $assunto, $orcamento){
    
    //aqui dentro você pode colocar o código do phpmailer

}

Eai para usar faria desta forma:

if($qtdPessoas == "1 a 50"): 
       $orcamento =  " O valor é R$100,00";
       $assunto = "Envio do orçamento para até 50 pessoas";
       enviaOrcamento($email, $assunto, $orcamento);
       
   elseif ($qtdPessoas == "51 a 100"):
       $orcamento = " O valor é R$200,00";
       $assunto = "Envio do orçamento de 51 a 100 pessoas";
       enviaOrcamento($email, $assunto, $orcamento);
    
   else:
       $orcamento = " O valor é R$400,00";
       $assunto = "Envio do orçamento acima de 100 pessoas";
       enviaOrcamento($email, $assunto, $orcamento);
   endif

De qualquer forma, o você não pode enviar os dados para o arquivo do tema!!  

Compartilhar este post


Link para o post
Compartilhar em outros sites

@DiF Entendi, de qualquer forma então tentarei outro jeito mais simples, não sou muito experiente com php, minha área é css e design

 

Mas muito obrigada pela ajuda de qualquer forma!

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×