Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com uma dúvida, quero saber como que coloco o cifrão "R$" no input para que ele apareça na mensagem que será enviada pelo from via php. Está funcionando tudo só que recebo o valor sem o cifrão e não consegui colocar ele. segui o código:
Tem como eu colocar ele na input sem precisar de um código php se sim como?
<div class="form-group" style="padding-left:5px;">
<label style="font-size:18px;" for="valor_reais">Valor Reais</label>
<input type="text" size="30" class="form-control input-lg" id="amountreal" name="valor_reais" placeholder="Valor em Reais">
<span class='msg-erro msg-nome'></span>
</div>Tente usar o alfanumérico correspondente ao cifrão: $
Diego, sim mas onde de coloco esse código no meu código acima?
Aí depende. Você tem algum javascript pra formatar o valor desse campo? Se não tiver, coloque o cifrão direto pelo script php. Se tiver (recomendo que use o jQuery Mask https://igorescobar.github.io/jQuery-Mask-Plugin/), basta formatar já com o R$ dentro do campo.
Aí depende. Você tem algum javascript pra formatar o valor desse campo? Se não tiver, coloque o cifrão direto pelo script php. Se tiver (recomendo que use o jQuery Mask https://igorescobar.github.io/jQuery-Mask-Plugin/), basta formatar já com o R$ dentro do campo.
Diego, consegui aqui só que cadastrei o cifrão no php, no valor em reais não tem problema mas no caso como o meu script ele vai ter a opção de venda também e terá outro tipo de moeda quero saber como que faço a troca do cifrão para o código da outra moeda?
Tudo depende de como você montou o seu código. Existe algum campo do form onde a pessoa vai escolher a moeda que vai usar? Se tiver, basta fazer algo como isso:
if($_POST["moeda"] == "real"){
$simbolo = "R$";
}elseif($_POST["moeda"] == "dolar"){
$simbolo = "$"
}
// e assim por diante
Então no meu script não tem essa opção de escolher a moeda, o meu script e assim tem dois inputs um com a moeda em dolar e outro com a moeda em reais os valores que eu cadastro neles vai direto para um banco de dados e depois para o meu e-mail o problema é que não estou conseguindo cadastrar os símbolos como cifrão e etc não tem alguma forma de quando o formulário for enviado ele completar o valor das inputs com os símbolos?
Pra cadastrar esses símbolos você teria que escapar os caracteres, senão vai dar erro na sua query. Você pode usar um addslashes() na variável que tiver os símbolos e depois inserir no banco.
Mas não tem nem necessidade disso. Na hora de enviar o e-mail, dentro do corpo da mensagem, você pode colocar manualmente o R$ ou o $. Como você tem dois campos diferentes, já vai saber diferenciar quando é real e quando é dólar, aí facilita a coisa toda já. Basicamente, é só detectar qual o nome do campo e se for o campo do real, imprime um R$, se for o campo do dólar, imprime um $.
Vale lembrar que se você usar o addslashes() depois vai ter que usar o stripslashes() na hora de imprimir o resultado, senão pode dar erro.
ok. Muito obrigado vou continuar tentando aqui. Só mais uma dúvida no meu script vou ter duas paginas uma de venda e uma de compra e esses campos não podem aparecer para o cliente mas eles tem que ser cadastrado no banco de dados tipo se o cliente fazer o cadastro da pagina de venda esse campo aparece como venda e na pagina de compra aparece como compra, como que faço isso como que passo para a form e para o php esse valor para cada pagina?
Isso é só questão de como você vai desenvolver o sistema mesmo. Na página de venda, basta você adicionar um campo input do tipo hidden com a informação de que aquilo é uma venda. Na página de compra, a mesma coisa. Assim você consegue identificar no seu script se foi uma compra ou uma venda. Os campos do tipo hidden são campos de texto alfanumérico que não aparecem na tela do cliente, então você pode adicionar dados ali dentro sem ele poder ver ou editar. Por exemplo, pode colocar isso:
<input type="hidden" name="tipo_transação" value="venda"/>
Talvez isso seja útil pra você, não sei bem porque não vi o seu código, mas acredito que te ajude.
valeu deu certo aqui, como que faço para cadastrar o texto com cor? eu coloquei assim <b style="color:#4ED709;">Pago<b> no value mas não deu certo como que faço. pois quero que na pagina de compra apareça para mim em ver e na pagina de venda apareça para mim em vermelho. Muito Obrigado mesmo você está me ajudando muito.
Então, a tag <b> não aceita estilização. Você pode colocar um <span> desse jeito: <span style="color:#4ED709;"><b>Pago<b></span>. Com certeza vai funcionar xD.
E não precisa agradecer, aqui é um forum pra isso mesmo rsrs
Diego então esse valor eu vou cadastrar ele no campo value?
Isso aí \o
eu coloquei no campo value "venda" e depois no php coloquei o código abaixo:
if ($compra_venda == "VENDA") {
echo '<b style="color:#FF0000;">VENDA<b>';
} elseif ($compra_venda == "COMPRA") {
echo '<b style="color:#FF0000;">VENDA<b>';
}
Só que ele não consegui fazer o php cadastrar o código <b style="color:#FF0000;">VENDA<b> no banco de dados ele sempre cadastrar o texto VENDA,
Segui a parte do código:
$sql = 'INSERT INTO tab_clientes (compra_venda, nome, valor_moeda, valor_reais, email, carteira, telefone, status, foto)
VALUES(:compra_venda, :nome, :valor_moeda, :valor_reais, :email, :carteira, :telefone, :status, :foto)';
if ($compra_venda == "VENDA") {
echo '<b style="color:#FF0000;">VENDA<b>';
} elseif ($compra_venda == "COMPRA") {
echo '<b style="color:#FF0000;">VENDA<b>';
}
$stm = $conexao->prepare($sql);
$stm->bindValue(':compra_venda', $compra_venda);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':valor_moeda', $valor_moeda);
$stm->bindValue(':valor_reais', 'R$ '.$valor_reais.'');
$stm->bindValue(':email', $email);
$stm->bindValue(':carteira', $carteira);
$stm->bindValue(':telefone', $telefone);
$stm->bindValue(':status', $status);
$stm->bindValue(':foto', $nome_foto);
$retorno = $stm->execute();Amigo já consegui deu certo o span que você me falou só estava esquecendo de colocar ' ' valeu.
Amigo estou com um pequeno problema no email que envia pois não estou conseguindo colocar no e-mail o id do cadastro segui o código abaixo:
Você sabe como que faço para o id ser enviado junto com a mensagem pois o código está la do mesmo jeito dos outros mas não envia nada fica em branco.
$sql = 'INSERT INTO tab_clientes (compra_venda, nome, valor_moeda, valor_reais, email, carteira, telefone, status, foto)
VALUES(:compra_venda, :nome, :valor_moeda, :valor_reais, :email, :carteira, :telefone, :status, :foto)';
$stm = $conexao->prepare($sql);
$stm->bindValue(':compra_venda', $compra_venda);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':valor_moeda', $valor_moeda);
$stm->bindValue(':valor_reais', 'R$ '.$valor_reais.'');
$stm->bindValue(':email', $email);
$stm->bindValue(':carteira', $carteira);
$stm->bindValue(':telefone', $telefone);
$stm->bindValue(':status', $status);
$stm->bindValue(':foto', $nome_foto);
$retorno = $stm->execute();
// message
$message = '
<html>
<p>
<b>Pedido:</b> '.$id.'<br/>
<b>Nome:</b> '.$nome.'<br/>
<b>Email:</b> '.$email.'<br/>
<b>Quantidade em Bitcoin:</b> '.$valor_moeda.'<br/>
<b>Valor em Reais:</b> '.$valor_reais.'<br/>
<b>Carteira:</b> '.$carteira.'<br/>
<b>Telefone:</b> '.$telefone.'<br/>
</p>
</html>
';
// O remetente deve ser um e-mail do seu domínio conforme determina a RFC
822.
// O return-path deve ser ser o mesmo e-mail do remetente.
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";$message, $headers);
if($envio)
echo "Mensagem enviada com sucesso";
else
echo "A mensagem não pode ser enviada";O código não tem problema nenhum aparente, o problema provavelmente está na parte em que você captura o ID. Verifique se está colocando certo o $id = $_POST["id"] ou seja lá o nome que você estiver passando no campo. Trate sempre os dados vindos por POST ou GET dessa forma, assim evitará possíveis problemas ocasionados pela register_globals. Se não sabe o que é a register_globals, não se preocupe (mas procure saber depois), simplesmente trate os dados como nesse exemplo: $id = $_POST["id"];
Como eu disse, provavelmente o problema está na parte em que você captura o id enviado pelo POST ou sei lá por onde, tente olhar nessa parte do código pra ver se acha algum erro. O código que envia o e-mail pelo menos aparentemente não tem problema nenhum.
segui o código php para receber os dados:
// 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'] : '';
$compra_venda = (isset($_POST['compra_venda'])) ? $_POST['compra_venda'] : '';
$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']) : '';
$carteira = (isset($_POST['carteira'])) ? $_POST['carteira'] : '';
$status = (isset($_POST['status'])) ? $_POST['status'] : '';Repare: $id = (isset($_POST['id'])) ? $_POST['id'] : '';
Se o POST['id'] não existir, ele deixa o valor em branco. Tem que ver se o seu formulário está enviando corretamente o valor do campo ID.
ok, mas no meu script na parte de cadastro não tem nenhum input para o id ele é cadastrada automaticamente pois no banco de dados ele é AUTO_INCREMENT isso tem alguma coisa a ver?
Outra como que faço para enviar dois valor para mesma coluna do banco de dados, fiz assim segui abaixo o código mas só envia a primeira a segunda não vai
$stm->bindValue(':valor_moeda', $valor_moeda + $bitcoin);
Tem a ver sim. Você tá tentando receber o ID de um POST que não existe. Ele vai ficar em branco mesmo, porque não tem como o código adivinhr o que é que você quer que ele faça, é tipo falar com criança, você é que tem que explicar, porque ela sozinha não te entende. Programação é assim, você tem que falar o idioma dela rs
Pra resolver isso, logo abaixo do código de inserir os dados na tabela você vai usar o PDO::lastInsertId (clica pra ler mais sobre isso). Ele vai te retornar o último ID que foi inserido na sua tabela, é só fazer algo do gênero:
$id = $retorno->lastInsertId();
Lembrando que $retorno foi onde você armazenou o resultado do seu INSERT INTO, então ele é o resource que você vai ter que usar pra definir o lastInsertID();E sobre inserir dois valores no mesmo campo, só se você armazenasse os dados em um array do tipo JSON, mas vai te complicar. Não existe outra solução? Se não existir, procure saber sobre como trabalhar com JSON no PHP.
ok, muito obrigado por toda ajuda, sobre os dois valores eu consegui coloquei assim:
$stm->bindValue(':valor_moeda', ''.$bitcoin.' '.$valor_moeda.''); no php e deu certo está enviando os dois.
Valeu e muito obrigado mesmo.
\o
Não esquece de marcar o tópico como resolvido.
Tente usar o alfanumérico correspondente ao cifrão: $