Jump to content
samruiz

Receber dados via email.

Recommended Posts

Ola pessoal, estou tendo um problema e não estou conseguindo resolver, estou querendo recuperar os dados de uma pagina de pedido e enviar via phpmailer. Segue o codigo:

  <h3>Confirmar Pedido</h3>
<hr>
<!-- botoes e opções de cima -->
<section class="row">
    
    <div class="col-md-12 " align="right">
        <a href="{$PAG_CARRINHO}" class="btn btn-info" title="">Voltar para Carrinho</a>
    </div>
    <div class="col-md-4">
        
    </div>
    <div class="col-md-4 text-right">
         
    </div>
    
</section>
    <br>

<!--  table listagem de itens -->
<section class="row ">
   
    <center>
    <table class="table table-bordered" style="width: 95%">

<!--
        <tr> 
        
            
            <td colspan="6" align="right"><a href="" class="btn btn-success" title="">Comprar Mais</a></td> 
        </tr> -->
       
        <tr class="text-danger bg-danger">
            <td></td> 
            <td>Produto</td> 
            <td>Valor R$</td> 
            <td>X</td> 
            <td>Sub Total R$</td> 
            
            
        </tr>
     
        
       {foreach from=$PRO item=P}
        
        <tr>
            
            <td> <img src="{$P.pro_img}" alt="{$P.pro_nome}"> </td>
            <td>  {$P.pro_nome} </td>
            <td>  {$P.pro_valor} </td>
            <td> {$P.pro_qtd}  </td>
            <td>  {$P.pro_subTotal} </td>
            
            
            
        </tr>
        
       {/foreach}
        
    </table>
  
    </center>
        
           
</section><!-- fim da listagem itens -->
        
        <!-- botoes de baixo e valor total -->
        <section class="row" id="total">
                      
            <div class="col-md-4 text-right">
           
            </div>
            
            <div class="col-md-4 text-right text-danger bg-warning">
            <h4>
               Total : R$ {$TOTAL}
            </h4>

            
            </div>
            
            <!-- botão de limpar-->
            
            <div class="col-md-12">
  <form name="pedido_finalizar" id="pedido_finalizar" method='post'action="{$PAG_FINALIZAR}>
    <h4>Por favor inserir pagamento Cartão ou Dinheiro!</h4>
    <div class="custom-control custom-checkbox">
      <input type="checkbox" class="custom-control-input" id="cartao" name='pagamento' value='1'>
      <label class="custom-control-label" for="cartao">Cartão</label>
    </div>
    <div class="custom-control custom-checkbox">
      <input type="checkbox" class="custom-control-input" id="dinheiro" name='pagamento' value='2'>
      <label class="custom-control-label" for="dinheiro">Dinheiro</label>
    </div>
    <h4>Caso seu pagamento seja dinheiro, vai precisar de troco? Se sim para quantos?</h4>
    <input type="text" name="troco" placeholder="Precisa de Troco?" class="btn-block text-danger" required>
    
  </form>
</div> 
<hr>
<br>
           <div class="col-md-4 ">

               
                    <form name="pedido_finalizar" id="pedido_finalizar" method="post" action="{$PAG_FINALIZAR}">
                     <button class="btn btn-success btn-block" type="submit">  <i class="glyphicon glyphicon-ok"></i> Finalizar Pedido </button>
                 </form>

            </div> 
            
               <!-- botão finalzar -->
              
          

        </section>
                    <br>
                    
    
                   
           
           <hr>
           
       </form>  
       
       </div>
       
                   
                        
  </section>
       <br>
       <br>
       <br>
       <br>

Ja tentei varias formas mas so chega os dados do pedido, e não a forma de pagamaneto.

Share this post


Link to post
Share on other sites

print_r() é uma função para imprimir variáveis de forma legível para nós(humanos).

 

Ela retorna os valores de um váriavel simples ou um Array por exemplo.

 

Faça o que o Massaki disse, que vai aparecer tudo o que está mandando pelo método POST do seu formulário, ok?

 

Veja mais sobre em: http://php.net/manual/pt_BR/function.print-r.php

Share this post


Link to post
Share on other sites
23 horas atrás, marcosmarcolin disse:

print_r() é uma função para imprimir variáveis de forma legível para nós(humanos).

 

Ela retorna os valores de um váriavel simples ou um Array por exemplo.

 

Faça o que o Massaki disse, que vai aparecer tudo o que está mandando pelo método POST do seu formulário, ok?

 

Veja mais sobre em: http://php.net/manual/pt_BR/function.print-r.php

Já tentei, mas buga minha tela e não apresenta no email os dados de pagamento.

Share this post


Link to post
Share on other sites
Em 14/11/2018 at 11:05, Massaki disse:

Você já fez um dump nos dados do formulário?


print_r($_POST);

 

Eu usei assim:

<?php
if(isset($_POST['pagamento'])){
  echo '<pre>';
  print_r($_POST);
  echo '</pre>';
}
?>
<div class="col-md-12">
  <form method='post'>
    <h4>Por favor inserir pagamento Cartão ou Dinheiro!</h4>
    <div class="custom-control custom-checkbox">
      <input type="checkbox" class="custom-control-input" id="cartao" name='pagamento' value='1'>
      <label class="custom-control-label" for="cartao">Cartão</label>
    </div>
    <div class="custom-control custom-checkbox">
      <input type="checkbox" class="custom-control-input" id="dinheiro" name='pagamento' value='2'>
      <label class="custom-control-label" for="dinheiro">Dinheiro</label>
    </div>
    <h4>Caso seu pagamento seja dinheiro, vai precisar de troco? Se sim para quantos?</h4>
    <input type="text" name="troco" placeholder="Precisa de Troco?" class="btn-block text-danger" required>
    <div class='text-right'><button type='submit' class='btn btn-primary'>Enviar</button></div>
  </form>
</div> 

Mas mesmo assim não consegui passar no email.

Share this post


Link to post
Share on other sites
Agora, marcosmarcolin disse:

Poste o código do $PAG_FINALIZAR para vermos como você esta recebendo os dados do formulário e enviando.

<?php

if(!Login::Logado()){
	Login::AcessoNegado();
	Rotas::Redirecionar(2, Rotas::pag_ClienteLogin());
}else{
	if(isset($_SESSION['PRO'])) {


		



	$smarty = new Template();

	$carrinho = new Carrinho();


		$ref_cod_pedido = date('ymdHms') . $_SESSION['CLI']['cli_id'];

		if(!isset($_SESSION['PED']['pedido'])){
			$_SESSION['PED']['pedido'] = $ref_cod_pedido;
		}

		if(!isset($_SESSION['PED']['ref'])){
			$_SESSION['PED']['ref'] = $ref_cod_pedido;
		}


	$pedido = new Pedidos();
	$cliente = $_SESSION['CLI']['cli_id'];
	$cod = $_SESSION['PED']['pedido'];
	$ref = $_SESSION['PED']['ref'];
	//$frete = $_SESSION['PED']['frete'];


	$smarty->assign('PRO', $carrinho->GetCarrinho());
	$smarty->assign('TOTAL', Sistema::MoedaBR($carrinho->GetTotal()));
	$smarty->assign('NOME_CLIENTE', $_SESSION['CLI']['cli_nome']);
	$smarty->assign('SITE_NOME', Config::SITE_NOME);
	$smarty->assign('SITE_HOME', Rotas::get_SiteHOME());
	$smarty->assign('PAG_MINHA_CONTA', Rotas::pag_CLientePedidos());
	
	$smarty->assign('TEMA', Rotas::get_SiteTEMA());

	//$smarty->assign('FRETE', Sistema::MoedaBR($_SESSION['PED']['frete']));
	//$smarty->assign('TOTAL_FRETE', Sistema::MoedaBR($_SESSION['PED']['total_com_frete']));
	$smarty->assign('PAG_RETORNO', Rotas::pag_PedidoRetorno());
	$smarty->assign('PAG_ERRO',Rotas::pag_PedidoRetornoERRO());
	$smarty->assign('REF', $ref);
	//$smarty->assign('PAG_PAGAMENTO',Rotas::pag_Pagamento());



	




	$email = new EnviarEmail();
	
	$destinatarios = array(Config::SITE_EMAIL_ADM, $_SESSION['CLI']['cli_email']);
	$assunto = 'Pedido da Loja Freitas - ' . Sistema::DataAtualBR();
	$msg = $smarty->fetch('email_compra.tpl');
	$pagamento= 'pedido_finalizar';

	

	$email->Enviar($assunto, $msg, $destinatarios, $pagamento);

	if($pedido->PedidoGravar($cliente, $cod, $ref)){

			$pag = new PagamentoPS();
      
            $pag->Pagamento($_SESSION['CLI'], $_SESSION['PED'], $carrinho->GetCarrinho());
            
          //  var_dump($pag);
            
              // passando para o template dados do PS
              $smarty->assign('PS_URL', $pag->psURL);            
              $smarty->assign('PS_COD', $pag->psCod);
              $smarty->assign('PS_SCRIPT', $pag->psURL_Script);

		$pedido->LimparSessoes();
	}


	$smarty->display('pedido_finalizar.tpl');


}else{
	echo '<h4 class="alert alert-danger"> Não possui produtos no carrinho! </h4>';
	Rotas::Redirecionar(3, Rotas::pag_Produtos());
}

}



/*
echo '<pre>';
var_dump($carrinho->GetCarrinho());
echo '</pre>';
*/
 ?>

Essa seria a pagina resconsavel por enviar os dados do pedidos para o Banco e tambem para o email.

Share this post


Link to post
Share on other sites

Certo, o que acontece que é você esta enviando o email com a variável $pagamento, porém você está passando um valor para ela na linha abaixo:

$pagamento= 'pedido_finalizar';

Remova a linha citada acima.

Porém, o que você precisa é pegar o valor do formulário e passar pro envio do email, certo?

 

No formulário faça assim:

<input type="radio" name="forma_pagamento" value="Dinheiro" />Dinheiro
<input type="radio" name="forma_pagamento" value="Cartão" />Cartão

<!--compartilham o mesmo name pois só pode selecionar uma das opções-->

Agora no seu PHP, antes de enviar o email, recebe o que for selecionado no formulário:

$forma_pagamento = $_POST['forma_pagamento'];

// só passar por parâmetro depois
$email->Enviar($assunto, $msg, $destinatarios, $forma_pagamento);

Se o restante do código estiver correto, irá funcionar.

 

Outra questão, você está passando o form duas vezes sem necessidade, deixa apenas a primeira vez.

 

Tenta aí e retorna.

Share this post


Link to post
Share on other sites
Em 17/11/2018 at 19:17, marcosmarcolin disse:

Certo, o que acontece que é você esta enviando o email com a variável $pagamento, porém você está passando um valor para ela na linha abaixo:


$pagamento= 'pedido_finalizar';

Remova a linha citada acima.

Porém, o que você precisa é pegar o valor do formulário e passar pro envio do email, certo?

 

No formulário faça assim:


<input type="radio" name="forma_pagamento" value="Dinheiro" />Dinheiro
<input type="radio" name="forma_pagamento" value="Cartão" />Cartão

<!--compartilham o mesmo name pois só pode selecionar uma das opções-->

Agora no seu PHP, antes de enviar o email, recebe o que for selecionado no formulário:


$forma_pagamento = $_POST['forma_pagamento'];

// só passar por parâmetro depois
$email->Enviar($assunto, $msg, $destinatarios, $forma_pagamento);

Se o restante do código estiver correto, irá funcionar.

 

Outra questão, você está passando o form duas vezes sem necessidade, deixa apenas a primeira vez.

 

Tenta aí e retorna.

Muito obrigado, mas eu fiz de forma diferente e graças a Deus deu certo.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Kelven
      Existe alguma maneira de meu código não aparecer no código fonte que não seja por meio de Php? Tipo um código javascript que não apareça no código fonte? Quero fazer uma verificação if else se é um determinado valor de uma variável mas sem usar o php pois o blog só aceita javascript, html e css.
    • By Itamar Teixeira_94230
      Boa tarde, turma minha bronca é a seguinte, estou trabalhando usando url amigavel, preciso fazer o seguinte,
      quando o usuario acessa esse link 
      http://localhost/system/imprimir_seguro.php?cod=21 ele consegue gera normalmente e visualizar o pdf usando a classe dompdf
       
      mais queria usar da seguinte maneira como as demais url do sistema
       
      http://localhost/system/imprimir_seguro/21
      alguém pra me da esse help?
    • By blbvicente
      Olá amigos, gostaria de tirar uma dúvida para o andamento do meu projeto de conclusão de curso.
       
      Como posso fazer um código para alterar imagens no banco de dados via PHP e utilizando o MySQL com ambiente de admin?
       
      Como meu HTML e CSS estão prontos, (tanto a home quanto a página de login para o admin) a ultima parte que falta é conseguir fazer isso que lhes estou pedindo ajuda hahaha
       
      Desde já agradeço a ajuda! 
    • By sonix1309@gmail.com
      Boa tarde

      Minha primeira participação.

      Tenho dois Sistemas em servidores diferente:
      Mesma biblioteca mpdf60 mesma versão PHP 7.2 (ea-php72).

      Em um não ocorre erro nenhum, no outro ocorre o erro abaixo:
      Parse error: syntax error, unexpected 'var' (T_VAR), expecting end of file in /home/assetnet/public_html/site/sistema/mpdf60/mpdf.php on line 96
       
      ///////////////////////////////
      // EXTERNAL (PUBLIC) VARIABLES
      // Define these in config.php
      ///////////////////////////////
      (linha 96) var $useFixedNormalLineHeight;    // mPDF 6     <---- linha do ERRO
      (linha 97) var $useFixedTextBaseline;    // mPDF 6
      (linha 98) var $adjustFontDescLineheight;    // mPDF 6
      (linha 99) var $interpolateImages; // mPDF 6
      ...

       
    • By Rogerio Pancini
      Boa tarde pessoal.
       
      Sempre uso um script para exportar dados para xls com PHP.
      Me serviu muito, mas, neste caso, preciso apenas gerar o xls e anexar no e-mail.
      Passei boa parte de manhã tentando fazer que o script apenas gere a planilha, sem forçar o download, mas, se eu tiro o "Content-Disposition: attachment", dá erro na página.
       
      include("php/phpmailer/PHPMailerAutoload.php"); // Trazendo as informações da tabela: $header = ""; $dados = ""; $header .= utf8_decode('Serviço'. "\t"); $header .= utf8_decode('Projeto nº'. "\t"); $header .= utf8_decode('Cliente'. "\t"); $header .= utf8_decode('Processo'. "\t"); $header .= utf8_decode('Vencimento'. "\t"); // Select dos processos para fazer o lembrete $sql_2 = mysqli_query($config, "SELECT ps.data_vencimento_limite, ps.id_processo, IFNULL(NULL, ps.num_processo), ps.descricao, c.nome_razao FROM tb_processos_servicos ps LEFT JOIN tb_processos AS p ON (ps.id_processo = p.id_processo) LEFT JOIN tb_agenda AS c ON (p.cliente = c.id) WHERE ps.data_vencimento_limite <> '0000-00-00' AND ps.data_vencimento_limite <= '$data_atual_db' ORDER BY ps.data_vencimento_limite DESC") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_2) <= 0){ echo ""; }else{ while($r_sql_2 = mysqli_fetch_array($sql_2)){ $vencimento_limite = date("d/m/Y", strtotime($r_sql_2[0])); $id_processo = $r_sql_2[1]; $num_processo = $r_sql_2[2]; $descricao_sel = utf8_decode($r_sql_2[3]); $cliente_sel = utf8_decode($r_sql_2[4]); // Insere a linha $line = ''; $value = '"' ."$descricao_sel". '"' . "\t"; $value .= '"' ."$id_processo". '"' . "\t"; $value .= '"' ."$cliente_sel". '"' . "\t"; if(empty($num_processo)){ $value .= '""' . "\t"; }else{ $value .= '"' ."'$num_processo". '"' . "\t"; } $value .= '"' ."$vencimento_limite". '"' . "\t"; $line .= strtr($value,"","") ; // O trim retira os espaços encontrados no começo e no final de cada linha encontrada. $dados .= trim($line)."\n"; // Substituindo todas as quebras de linha ao final de cada registro, que por padrão seria \r por uma valor em branco, para que a formatao fique legível $dados = str_replace("\r","",$dados); // Caso não encontre nenhum registro, mostra esta mensagem. if ($dados== "") { $dados = "\n Nenhum registro encontrado!\n"; } } // O trim retira os espaços encontrados no começo e no final de cada linha encontrada. $dados .= trim($line)."\n"; // Substituindo todas as quebras de linha ao final de cada registro, que por padrão seria \r por uma valor em branco, para que a formatao fique legível $dados = str_replace("\r","",$dados); // Cabeçalhos e instruções para geração e download do arquivo: header("Content-type: application/x-msexcel"); // Este cabeçalho abaixo, indica que o arquivo deve ser gerado para download. // Se eu tirar ele salva o arquivo na pasta, mas dá erro na página header("Content-Disposition: attachment; filename=$nome_arquivo"); // No cache, ou seja, não guarda cache, pois é gerado dinamicamente header("Pragma: no-cache"); // Não expira header("Expires: 0"); // E aqui geramos o arquivo com os dados mencionados acima! print "$header\n$dados"; file_put_contents("anexos/".$nome_arquivo,$dados); //Aqui será enviado o e-mail. } mysqli_close($config); Não sei é possível apenas gerar o xls com esse script, mas ele é tão prático que vou fazer uma última tentativa.
      Neste caso ele salva na pasta "anexos", mas abre a caixa do navegador para fazer download.
       
      Desde já agradeço!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.