Ir para conteúdo

Arquivado

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

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.

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.