Skip to content

Instantly share code, notes, and snippets.

@davidchc
Created June 7, 2020 13:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davidchc/5c50be56fde19b7198ddd7f646a66a8e to your computer and use it in GitHub Desktop.
Save davidchc/5c50be56fde19b7198ddd7f646a66a8e to your computer and use it in GitHub Desktop.
Exemplo para enviar os dados do carrinho por e-mail . Funções do carrinho e produto, e conexão está nesse repositório: https://github.com/davidchc/carrinho-de-compra-procedural
<?php
//Inicia Session
session_start();
//Chama a funcões dos produtos
require_once "functions/product.php";
//chama as funções do carrinhos
require_once "functions/cart.php";
//Chama a conexão
$pdoConnection = require_once "connection.php";
/*
Captura so dados do formulário
*/
//Argumentos para filtrar os dados do formulário
$args = [
'nome' => FILTER_SANITIZE_STRING ,
'email' => FILTER_VALIDATE_EMAIL,
'telefone' => FILTER_SANITIZE_STRING,
'endereco' -> FILTER_SANITIZE_STRING,
'rua' -> FILTER_SANITIZE_STRING,
'complemento' -> FILTER_DEFAULT,
'bairro' -> FILTER_SANITIZE_STRING,
'cidade' -> FILTER_SANITIZE_STRING,
'estado' -> FILTER_SANITIZE_STRING
];
//passa os argumentos e recupera os posts do formulário
//os noms passados precisam ser os mesmos dos campos do formulário
$post = filter_input_array(INPUT_POST, $args);
/*RECUPERA OS DADOS DO CARRINHO*/
$resultsCarts = getContentCart($pdoConnection);
$totalCarts = getTotalCart($pdoConnection);
//Monta a mensagem para enviar com dados do carrinho
$messages = "";
$messages .= "<p>Nome: ".$post['nome']."</p>";
$messages .= "<p>E-mail: ".$post['email']."</p>";
$messages .= "<p>Felefone: ".$post['telefone']."</p>";
$messages .= "<p>Endereco: ".$post['endereco']."</p>";
$messages .= "<p>Rua: ".$post['rua']."</p>";
$messages .= "<p>Complemento: ".$post['complemento']."</p>";
$messages .= "<p>Cidade: ".$post['cidade']."</p>";
$messages .= "<p>Estado: ".$post['estado']."</p>";
//O valor total de pagamento
$messages .= "<h2>Dados de Pagamento</h2>";
$messages .= "<p><b>Valor Total: R$".number_format($totalCarts, 2, ',', '.')."</b></p>";
//Agora pega os dados do carrinho e monta a mensagem dos produtos
$messages .= "<h2>Dados de Carrinho</h2>";
foreach($resultsCarts as $result) {
$messages .= "<ul>";
$messages .= "<li>Produto: ".$result['name']."</li>";
$messages .= "<li>Quantidade: ".$result['quantity']."</li>";
$messages .= "<li>Preço: R$". number_format($result['price'], 2, ',', '.')."</li>";
$messages .= "<li>SuvTotal: R$".number_format($result['subtotal'], 2, ',', '.')."</li>";
$messages .= "</ul>";
}
/*****
***Define os dados como serão enviados
***/
//Variável responsavel para definir quem recebe
$destinatario = 'seu@email.com.br';
//Variável responsavel pelo titulo da mensagem
$assunto = 'Dados do Formulários';
//Importante que from e Rrturn-Path ter do seu dominio
$cabecalho = 'MIME-Version: 1.0' . "\r\n";
$cabecalho .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$cabecalho .= 'From: '.$destinatario.' ' . "\r\n";
$cabecalho .= 'Reply-To: '.$post['email'].' ' . "\r\n";
$cabecalho .= 'Return-Path: '.$destinatario.' ' . "\r\n";
//Função que faz o disparo do email
if( mail($destinatario, $assunto, $messages, $cabecalho) ) {
echo "Seu pedido foi enviado com sucesso";
} else {
echo "Erro ao tentar enviar pedidos";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment