Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite, consegui criar um sistema de cadastro de pedidos mas preciso que os dados do cadastro seja enviado para o e-mail do meu cliente que está cadastrando e também para o meu e-mail. Se puderem me ajudar. Obrigado
Tem como eu incluir dentro desse código ou vou ter que criar uma outra pagina para fazer isso?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sistema de Cadastro</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
<div class='container box-mensagem-crud'>
<?php
require 'conexao.php';
// Atribui uma conexão PDO
$conexao = conexao::getInstance();
// Recebe os dados enviados pela submissão
$acao = (isset($_POST['acao'])) ? $_POST['acao'] : '';
$id = (isset($_POST['id'])) ? $_POST['id'] : '';
$nome = (isset($_POST['nome'])) ? $_POST['nome'] : '';
$valor_moeda = (isset($_POST['valor_moeda'])) ? $_POST['valor_moeda'] : '';
$valor_reais = (isset($_POST['valor_reais'])) ? $_POST['valor_reais'] : '';
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$foto_atual = (isset($_POST['foto_atual'])) ? $_POST['foto_atual'] : '';
$telefone = (isset($_POST['telefone'])) ? str_replace(array('-', ' '), '', $_POST['telefone']) : '';
$status = (isset($_POST['status'])) ? $_POST['status'] : '';
// Valida os dados recebidos
$mensagem = '';
if ($acao == 'editar' && $id == ''):
$mensagem .= '<li>ID do registros desconhecido.</li>';
endif;
// Verifica se foi solicitada a inclusão de dados
if ($acao == 'incluir'):
$nome_foto = 'padrao.jpg';
if(isset($_FILES['foto']) && $_FILES['foto']['size'] > 0):
$extensoes_aceitas = array('bmp' ,'png', 'svg', 'jpeg', 'jpg');
$extensao = strtolower(end(explode('.', $_FILES['foto']['name'])));
// Validamos se a extensão do arquivo é aceita
if (array_search($extensao, $extensoes_aceitas) === false):
echo "<h1>Extensão Inválida!</h1>";
exit;
endif;
// Verifica se o upload foi enviado via POST
if(is_uploaded_file($_FILES['foto']['tmp_name'])):
// Verifica se o diretório de destino existe, senão existir cria o diretório
if(!file_exists("fotos")):
mkdir("fotos");
endif;
// Monta o caminho de destino com o nome do arquivo
$nome_foto = date('dmY') . '_' . $_FILES['foto']['name'];
// Essa função move_uploaded_file() copia e verifica se o arquivo enviado foi copiado com sucesso para o destino
if (!move_uploaded_file($_FILES['foto']['tmp_name'], 'fotos/'.$nome_foto)):
echo "Houve um erro ao gravar arquivo na pasta de destino!";
endif;
endif;
endif;
$sql = 'INSERT INTO tab_clientes (nome, valor_moeda, valor_reais, email, telefone, status, foto)
VALUES(:nome, :valor_moeda, :valor_reais, :email, :telefone, :status, :foto)';
$stm = $conexao->prepare($sql);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':valor_moeda', $valor_moeda);
$stm->bindValue(':valor_reais', $valor_reais);
$stm->bindValue(':email', $email);
$stm->bindValue(':telefone', $telefone);
$stm->bindValue(':status', 'Pendente');
$stm->bindValue(':foto', $nome_foto);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Registro inserido com sucesso, aguarde você está sendo redirecionado ...</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao inserir registro!</div> ";
endif;
echo "<meta http-equiv=refresh content='3;URL=index.php'>";
endif;
// Verifica se foi solicitada a edição de dados
if ($acao == 'editar'):
if(isset($_FILES['foto']) && $_FILES['foto']['size'] > 0):
// Verifica se a foto é diferente da padrão, se verdadeiro exclui a foto antiga da pasta
if ($foto_atual <> 'padrao.jpg'):
unlink("fotos/" . $foto_atual);
endif;
$extensoes_aceitas = array('bmp' ,'png', 'svg', 'jpeg', 'jpg');
$extensao = strtolower(end(explode('.', $_FILES['foto']['name'])));
// Validamos se a extensão do arquivo é aceita
if (array_search($extensao, $extensoes_aceitas) === false):
echo "<h1>Extensão Inválida!</h1>";
exit;
endif;
// Verifica se o upload foi enviado via POST
if(is_uploaded_file($_FILES['foto']['tmp_name'])):
// Verifica se o diretório de destino existe, senão existir cria o diretório
if(!file_exists("fotos")):
mkdir("fotos");
endif;
// Monta o caminho de destino com o nome do arquivo
$nome_foto = date('dmY') . '_' . $_FILES['foto']['name'];
// Essa função move_uploaded_file() copia e verifica se o arquivo enviado foi copiado com sucesso para o destino
if (!move_uploaded_file($_FILES['foto']['tmp_name'], 'fotos/'.$nome_foto)):
echo "Houve um erro ao gravar arquivo na pasta de destino!";
endif;
endif;
else:
$nome_foto = $foto_atual;
endif;
$sql = 'UPDATE tab_clientes SET nome=:nome, valor_moeda=:valor_moeda, valor_reais=:valor_reais, email=:email, telefone=:telefone, status=:status, foto=:foto ';
$sql .= 'WHERE id = :id';
$stm = $conexao->prepare($sql);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':valor_moeda', $valor_moeda);
$stm->bindValue(':valor_reais', $valor_reais);
$stm->bindValue(':email', $email);
$stm->bindValue(':telefone', $telefone);
$stm->bindValue(':status', $status);
$stm->bindValue(':foto', $nome_foto);
$stm->bindValue(':id', $id);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Registro editado com sucesso, aguarde você está sendo redirecionado ...</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao editar registro!</div> ";
endif;
echo "<meta http-equiv=refresh content='2;URL=index.php'>";
endif;
// Verifica se foi solicitada a exclusão dos dados
if ($acao == 'excluir'):
// Captura o nome da foto para excluir da pasta
$sql = "SELECT foto FROM tab_clientes WHERE id = :id AND foto <> 'padrao.jpg'";
$stm = $conexao->prepare($sql);
$stm->bindValue(':id', $id);
$stm->execute();
$cliente = $stm->fetch(PDO::FETCH_OBJ);
if (!empty($cliente) && file_exists('fotos/'.$cliente->foto)):
unlink("fotos/" . $cliente->foto);
endif;
// Exclui o registro do banco de dados
$sql = 'DELETE FROM tab_clientes WHERE id = :id';
$stm = $conexao->prepare($sql);
$stm->bindValue(':id', $id);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Registro excluído com sucesso, aguarde você está sendo redirecionado ...</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao excluir registro!</div> ";
endif;
echo "<meta http-equiv=refresh content='0;URL=index.php'>";
endif;
?>
</div>
</body>
</html>Sim, você pode incluir o envio direto naquele script.
Sim, você pode incluir o envio direto naquele script.
ok, mas qual é o código e como eu coloco ele nesse código pois já tentei varias vezes e não envia o e-mail sempre faz o cadastro mas o email não é enviado.
Ah sim, é que a sua pergunta se resumiu a se dava.
Quanto ao código, 2 opções:
1 - Função mail:
http://php.net/manual/pt_BR/function.mail.php
2 - SMTP autenticado:
2.1 - PHP Mailer: https://github.com/PHPMailer/PHPMailer
2.2 - Swift mailer: http://swiftmailer.org/
Primeiro tente implementar isto em um arquivo à parte deste, após isto volte e a gente te ajuda a encaixar no seu script.
Então eu tenho um formulário de contato onde nele consigo enviar os e-mails da forma que quero só não consigo fazer o cadastro do cliente ai quero fazer a integração dos dois script segui o script de envio do e-mail:
O que eu quero é que depois do cadastro seja enviado um e-mail para mim e outro para o cliente com os dados que ele digitou no cadastro.
<?php
$nome = $_POST["nome"];
$email = $_POST["email"];
$valor_moeda = $_POST["valor_moeda"];
$valor_reais = $_POST["valor_reais"];
$emailremetente = 'wtomtom92@hotmail.com'; // Inserir o endereço de email a qual você quer que chegue
$telefone = $_POST["telefone"];
$MailRecipiente = $emailremetent;
$MailAssunto = "Teste envio de email do cadastro";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $emailremetent\r\n";
$headers .= "Return-Path: $emailremetent\r\n";
$msg = '
<b>Nome:</b> '.$nome.'<br/>
<b>Email:</b> '.$email.'<br/>
<b>Valor Moeda:</b> '.$valor_moeda.'<br/>
<b>Valor em Reais:</b> '.$valor_reais.'<br/>
<b>Telefone:</b> '.$telefone.'<br/>
';
mail($MailRecipiente,$MailAssunto,$msg,$headers);
// AQUI SE COLOCA A COPIA CASO QUEIRA QUE O FORMULARIO ENVIE (DUPLIQUE QUANTAS VEZES QUISER)
mail($email,$MailAssunto,$msg,$headers);
echo "<script>location.href='sucesso.php'</script>"; // Página que será redirecionada<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sistema de Cadastro</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
<div class='container box-mensagem-crud'>
<?php
require 'conexao.php';
// Atribui uma conexão PDO
$conexao = conexao::getInstance();
// Recebe os dados enviados pela submissão
$acao = (isset($_POST['acao'])) ? $_POST['acao'] : '';
$id = (isset($_POST['id'])) ? $_POST['id'] : '';
$nome = (isset($_POST['nome'])) ? $_POST['nome'] : '';
$valor_moeda = (isset($_POST['valor_moeda'])) ? $_POST['valor_moeda'] : '';
$valor_reais = (isset($_POST['valor_reais'])) ? $_POST['valor_reais'] : '';
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$foto_atual = (isset($_POST['foto_atual'])) ? $_POST['foto_atual'] : '';
$telefone = (isset($_POST['telefone'])) ? str_replace(array('-', ' '), '', $_POST['telefone']) : '';
$status = (isset($_POST['status'])) ? $_POST['status'] : '';
// Valida os dados recebidos
$mensagem = '';
if ($acao == 'editar' && $id == ''):
$mensagem .= '<li>ID do registros desconhecido.</li>';
endif;
// Verifica se foi solicitada a inclusão de dados
if ($acao == 'incluir'):
$nome_foto = 'padrao.jpg';
if(isset($_FILES['foto']) && $_FILES['foto']['size'] > 0):
$extensoes_aceitas = array('bmp' ,'png', 'svg', 'jpeg', 'jpg');
$extensao = strtolower(end(explode('.', $_FILES['foto']['name'])));
// Validamos se a extensão do arquivo é aceita
if (array_search($extensao, $extensoes_aceitas) === false):
echo "<h1>Extensão Inválida!</h1>";
exit;
endif;
// Verifica se o upload foi enviado via POST
if(is_uploaded_file($_FILES['foto']['tmp_name'])):
// Verifica se o diretório de destino existe, senão existir cria o diretório
if(!file_exists("fotos")):
mkdir("fotos");
endif;
// Monta o caminho de destino com o nome do arquivo
$nome_foto = date('dmY') . '_' . $_FILES['foto']['name'];
// Essa função move_uploaded_file() copia e verifica se o arquivo enviado foi copiado com sucesso para o destino
if (!move_uploaded_file($_FILES['foto']['tmp_name'], 'fotos/'.$nome_foto)):
echo "Houve um erro ao gravar arquivo na pasta de destino!";
endif;
endif;
endif;
$sql = 'INSERT INTO tab_clientes (nome, valor_moeda, valor_reais, email, telefone, status, foto)
VALUES(:nome, :valor_moeda, :valor_reais, :email, :telefone, :status, :foto)';
$stm = $conexao->prepare($sql);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':valor_moeda', $valor_moeda);
$stm->bindValue(':valor_reais', $valor_reais);
$stm->bindValue(':email', $email);
$stm->bindValue(':telefone', $telefone);
$stm->bindValue(':status', 'Pendente');
$stm->bindValue(':foto', $nome_foto);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Registro inserido com sucesso, aguarde você está sendo redirecionado ...</div> ";
/*
ENVIANDO E-MAIL
*/
$nome = $_POST["nome"];
$email = $_POST["email"];
$valor_moeda = $_POST["valor_moeda"];
$valor_reais = $_POST["valor_reais"];
$emailremetente = 'wtomtom92@hotmail.com'; // Inserir o endereço de email a qual você quer que chegue
$telefone = $_POST["telefone"];
$MailRecipiente = $emailremetent;
$MailAssunto = "Teste envio de email do cadastro";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $emailremetent\r\n";
$headers .= "Return-Path: $emailremetent\r\n";
$msg = '
<b>Nome:</b> '.$nome.'<br/>
<b>Email:</b> '.$email.'<br/>
<b>Valor Moeda:</b> '.$valor_moeda.'<br/>
<b>Valor em Reais:</b> '.$valor_reais.'<br/>
<b>Telefone:</b> '.$telefone.'<br/>
';
mail($MailRecipiente,$MailAssunto,$msg,$headers);
// AQUI SE COLOCA A COPIA CASO QUEIRA QUE O FORMULARIO ENVIE (DUPLIQUE QUANTAS VEZES QUISER)
mail($email,$MailAssunto,$msg,$headers);
/*
FIM DO ENVIO
*/
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao inserir registro!</div> ";
endif;
echo "<meta http-equiv=refresh content='3;URL=index.php'>";
endif;
// Verifica se foi solicitada a edição de dados
if ($acao == 'editar'):
if(isset($_FILES['foto']) && $_FILES['foto']['size'] > 0):
// Verifica se a foto é diferente da padrão, se verdadeiro exclui a foto antiga da pasta
if ($foto_atual <> 'padrao.jpg'):
unlink("fotos/" . $foto_atual);
endif;
$extensoes_aceitas = array('bmp' ,'png', 'svg', 'jpeg', 'jpg');
$extensao = strtolower(end(explode('.', $_FILES['foto']['name'])));
// Validamos se a extensão do arquivo é aceita
if (array_search($extensao, $extensoes_aceitas) === false):
echo "<h1>Extensão Inválida!</h1>";
exit;
endif;
// Verifica se o upload foi enviado via POST
if(is_uploaded_file($_FILES['foto']['tmp_name'])):
// Verifica se o diretório de destino existe, senão existir cria o diretório
if(!file_exists("fotos")):
mkdir("fotos");
endif;
// Monta o caminho de destino com o nome do arquivo
$nome_foto = date('dmY') . '_' . $_FILES['foto']['name'];
// Essa função move_uploaded_file() copia e verifica se o arquivo enviado foi copiado com sucesso para o destino
if (!move_uploaded_file($_FILES['foto']['tmp_name'], 'fotos/'.$nome_foto)):
echo "Houve um erro ao gravar arquivo na pasta de destino!";
endif;
endif;
else:
$nome_foto = $foto_atual;
endif;
$sql = 'UPDATE tab_clientes SET nome=:nome, valor_moeda=:valor_moeda, valor_reais=:valor_reais, email=:email, telefone=:telefone, status=:status, foto=:foto ';
$sql .= 'WHERE id = :id';
$stm = $conexao->prepare($sql);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':valor_moeda', $valor_moeda);
$stm->bindValue(':valor_reais', $valor_reais);
$stm->bindValue(':email', $email);
$stm->bindValue(':telefone', $telefone);
$stm->bindValue(':status', $status);
$stm->bindValue(':foto', $nome_foto);
$stm->bindValue(':id', $id);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Registro editado com sucesso, aguarde você está sendo redirecionado ...</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao editar registro!</div> ";
endif;
echo "<meta http-equiv=refresh content='2;URL=index.php'>";
endif;
// Verifica se foi solicitada a exclusão dos dados
if ($acao == 'excluir'):
// Captura o nome da foto para excluir da pasta
$sql = "SELECT foto FROM tab_clientes WHERE id = :id AND foto <> 'padrao.jpg'";
$stm = $conexao->prepare($sql);
$stm->bindValue(':id', $id);
$stm->execute();
$cliente = $stm->fetch(PDO::FETCH_OBJ);
if (!empty($cliente) && file_exists('fotos/'.$cliente->foto)):
unlink("fotos/" . $cliente->foto);
endif;
// Exclui o registro do banco de dados
$sql = 'DELETE FROM tab_clientes WHERE id = :id';
$stm = $conexao->prepare($sql);
$stm->bindValue(':id', $id);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Registro excluído com sucesso, aguarde você está sendo redirecionado ...</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao excluir registro!</div> ";
endif;
echo "<meta http-equiv=refresh content='0;URL=index.php'>";
endif;
?>
</div>
</body>
</html>então coloquei o código certo mas não está enviando os e-mails pois não estou recebendo já cadastrei um e-mail do gmail para ver se era algum problema com o outlook mas mesmo assim não recebo o e-mail.
Assumindo que o script de e-mail que você passou seja funcional, o que eu fiz está correto, ai você teria que ver com o seu host se existem limitações na função mail. Se não existir limitação o e-mail está sendo recusado no destino ou está indo para o spam.
então tentei te todo geito aqui e não enviou o e-mail, não envia mesmo, a unica coisa que consegui foi fazer o php redirecionar para a pagina de envio do e-mail e depois essa pagina redireciona para a pagina de sucesso, desse jeito consegui mas não pega os dados do cadastro envia um e-mail em branco.
Usei o mesmo script de email acima só fiz ele separado e no lugar:
"<meta http-equiv=refresh content='0;URL=index.php'>"; eu coloquei
"<meta http-equiv=refresh content='0;URL=envia.php'>";
mas não recebo os dados do cliente recebo um e-mail em branco
ESerra, consegui fazer funcionar agora quando faço o cadastro é enviado dois e-mails uma para mim e outro para o cliente. agora estou com um problema na parte de status onde tenho dois status um "pendente" e outro "pago" quero saber como que faço para mudar a cor do texto dele quando eu fizer a alteração no cadastro já tentei de tudo aqui e sempre fica da mesma cor. segui abaixo o código do editar:
Eu coloquei ele para ficar em vermelho e como pendente na hora do cadastro o que quero e que mude de cor quando eu mudar o status para pago.
<?php
require 'conexao.php';
// Recebe o id do cliente do cliente via GET
$id_cliente = (isset($_GET['id'])) ? $_GET['id'] : '';
// Valida se existe um id e se ele é numérico
if (!empty($id_cliente) && is_numeric($id_cliente)):
// Captura os dados do cliente solicitado
$conexao = conexao::getInstance();
$sql = 'SELECT id, nome, valor_moeda, valor_reais, email, carteira, telefone, status, foto FROM tab_clientes WHERE id = :id';
$stm = $conexao->prepare($sql);
$stm->bindValue(':id', $id_cliente);
$stm->execute();
$cliente = $stm->fetch(PDO::FETCH_OBJ);
if(!empty($cliente)):
endif;
endif;
$status = 'Pago';
?><html>
<head>
<meta charset="utf-8">
<title>Edição de Cliente</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
<div class='container'>
<fieldset>
<legend><h1>Formulário - Edição de Cliente</h1></legend>
<?php if(empty($cliente)):?>
<h3 class="text-center text-danger">Cliente não encontrado!</h3>
<?php else: ?>
<form action="action_cliente.php" method="post" id='form-contato' enctype='multipart/form-data'>
<div class="row">
<label for="nome">Alterar Foto</label>
<div class="col-md-2">
<a href="#" class="thumbnail">
<img src="fotos/<?=$cliente->foto?>" height="190" width="150" id="foto-cliente">
</a>
</div>
<input type="file" name="foto" id="foto" value="foto" >
</div>
<div class="form-group">
<label for="nome">Nome</label>
<input type="text" class="form-control" id="nome" name="nome" value="<?=$cliente->nome?>" placeholder="Infome o Nome">
<span class='msg-erro msg-nome'></span>
</div>
<div class="form-group">
<label for="valor_moeda">Valor Bitcoin</label>
<input type="text" class="form-control" id="valor_moeda" name="valor_moeda" value="<?=$cliente->valor_moeda?>" placeholder="Informe a quantidade de Bitcoin">
<span class='msg-erro msg-nome'></span>
</div>
<div class="form-group">
<label for="valor_reais">Valor Reais</label>
<input type="text" class="form-control" id="valor_reais" name="valor_reais" value="<?=$cliente->valor_reais?>" placeholder="Valor de Bitcoin em Reais">
<span class='msg-erro msg-nome'></span>
</div>
<div class="form-group">
<label for="email">E-mail</label>
<input type="email" class="form-control" id="email" name="email" value="<?=$cliente->email?>" placeholder="Informe o E-mail">
<span class='msg-erro msg-email'></span>
</div>
<div class="form-group">
<label for="carteira">Carteira</label>
<input type="carteira" class="form-control" id="carteira" maxlength="100" name="carteira" value="<?=$cliente->carteira?>"placeholder="Informe sua carteira">
<span class='msg-erro msg-telefone'></span>
</div>
<div class="form-group">
<label for="telefone">Telefone</label>
<input type="telefone" class="form-control" id="telefone" maxlength="12" name="telefone" value="<?=$cliente->telefone?>" placeholder="Informe o Telefone">
<span class='msg-erro msg-telefone'></span>
</div>
<div class="form-group">
<label for="status">Status</label>
<select class="form-control" name="status" id="status">
<option value="<?=$cliente->status?>"><b><?=$cliente->status?></b></option>
<option value="<?php echo $status;?>"><?php echo $status;?></option>
</select>
<span class='msg-erro msg-status'></span>
</div>
<input type="hidden" name="acao" value="editar">
<input type="hidden" name="id" value="<?=$cliente->id?>">
<input type="hidden" name="foto_atual" value="<?=$cliente->foto?>">
<button type="submit" class="btn btn-primary" id='botao'>
Gravar
</button>
<a href='index.php' class="btn btn-danger">Cancelar</a>
</form>
<?php endif; ?>
</fieldset>
</div>
<script type="text/javascript" src="js/custom.js"></script>
</body>
</html>
Tem como alguém me ajudar por favor?