formulario html com bootstrap+php
09/01/2019
0
Meu formulario HTML:
<form name="sentMessage" id="contactForm" novalidate>
<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label>Name</label>
<input type="text" class="form-control" placeholder="Nome Completo" id="name" required data-validation-required-message="Por favor, insira seu nome.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label>Email Address</label>
<input type="email" class="form-control" placeholder="Email" id="email" required data-validation-required-message="Por favor, indique o seu endereço de e-mail.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Phone Number</label>
<input type="tel" class="form-control" placeholder="Telefone" id="phone" required data-validation-required-message="Por favor, digite seu número de telefone.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Anexo</label>
<input name="file" type="file" class="form-control" id="file">
</div>
</div>
<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label>Message</label>
<textarea rows="5" class="form-control" placeholder="mensagem" id="message" required data-validation-required-message="Por favor, digite uma mensagem."></textarea>
<p class="help-block text-danger"></p>
</div>
</div>
<br>
<div id="success"></div>
<div class="form-group">
<button type="submit" class="btn btn-primary" id="sendMessageButton">Enviar</button>
</div>
</form>
Minha Pagina PHP:
<?php
// Check for empty fields
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['phone']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$message = strip_tags(htmlspecialchars($_POST['message']));
// Create the email and send the message
$to = 'vlogados.iptv@gmail.com'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
$email_subject = "Website Contact Form: $name";
$email_body = "Você recebeu uma nova mensagem do formulário de contato do seu website.\\n\\n"."Aqui estão os detalhes:\\n\\nNome: $name\\n\\nEmail: $email_address\\n\\nPhone: $phone\\n\\nMensagem:\\n$message";
$headers = "From: noreply@yourdomain.com\\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
Atualmente as informações submetidas no formulario chegam no email corretamente!
Estou querendo adicionar um input para o usuario anexar uma imagem ou pdf.
Tive diversas tentativas porem mal sucedidas
Alguem me ajuda por favor?
<form name="sentMessage" id="contactForm" novalidate>
<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label>Name</label>
<input type="text" class="form-control" placeholder="Nome Completo" id="name" required data-validation-required-message="Por favor, insira seu nome.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label>Email Address</label>
<input type="email" class="form-control" placeholder="Email" id="email" required data-validation-required-message="Por favor, indique o seu endereço de e-mail.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Phone Number</label>
<input type="tel" class="form-control" placeholder="Telefone" id="phone" required data-validation-required-message="Por favor, digite seu número de telefone.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Anexo</label>
<input name="file" type="file" class="form-control" id="file">
</div>
</div>
<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label>Message</label>
<textarea rows="5" class="form-control" placeholder="mensagem" id="message" required data-validation-required-message="Por favor, digite uma mensagem."></textarea>
<p class="help-block text-danger"></p>
</div>
</div>
<br>
<div id="success"></div>
<div class="form-group">
<button type="submit" class="btn btn-primary" id="sendMessageButton">Enviar</button>
</div>
</form>
Minha Pagina PHP:
<?php
// Check for empty fields
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['phone']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$message = strip_tags(htmlspecialchars($_POST['message']));
// Create the email and send the message
$to = 'vlogados.iptv@gmail.com'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
$email_subject = "Website Contact Form: $name";
$email_body = "Você recebeu uma nova mensagem do formulário de contato do seu website.\\n\\n"."Aqui estão os detalhes:\\n\\nNome: $name\\n\\nEmail: $email_address\\n\\nPhone: $phone\\n\\nMensagem:\\n$message";
$headers = "From: noreply@yourdomain.com\\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
Atualmente as informações submetidas no formulario chegam no email corretamente!
Estou querendo adicionar um input para o usuario anexar uma imagem ou pdf.
Tive diversas tentativas porem mal sucedidas
Alguem me ajuda por favor?
Matheus Santos
Curtir tópico
+ 0
Responder
Posts
09/01/2019
Jucélio Silva
E ae Matheus blz cara,
Faço algo parecido em um legado PHP aqui da empresa, a diferença é que gero um formulário com vários dados em HTML e depois gero PDF . Mas talvez te de um caminho para buscar informação... segue o trecho de código...:
Uso essa rotina para enviar anexo, a parte que te interessa seria essa $mail->AddStringAttachment($pdf->Output('arquivo.pdf', 'S'), 'arquivo.pdf');
Como você já tem o arquivo em memoria seria o caso de só anexar e enviar.
Espero que isso te ajude a encontrar uma solução para o seu problema... boa sorte.
Faço algo parecido em um legado PHP aqui da empresa, a diferença é que gero um formulário com vários dados em HTML e depois gero PDF . Mas talvez te de um caminho para buscar informação... segue o trecho de código...:
/* Função que instancia a lib de pdf public function &Get_pdf() { /* mPDF -- habilitar extension=php_mbstring.dll */ require (SYS_ROOT . "lib/mpdf/mpdf.php"); $this->pdf = new mPDF (); return $this->pdf; } */ ob_start(); echo "<style type='text/css'>"; include('../email.css'); // css usado para formatar o corpo do email echo "</style>"; include('../formulario.php'); // inclui uma tela com os dados que devem sair no corpo do email ou no pdf if($email_pdf === 'S') // caso o usuario queira enviar em formato pdf { $pdf = $pw->Get_pdf(); // instancia a lib mpdf.php $pdf->keep_table_proportions = true; // ajusta o conteudo dentro da pagina $pdf->WriteHTML(ob_get_contents (),0); // escreve o conteudo no pdf $mail->AddStringAttachment($pdf->Output('arquivo.pdf', 'S'), 'arquivo.pdf');// anexa o pdf em memoria no email } else $mail->Body .=ob_get_contents(); // gera sem pdf escrenvedo apenas no corpo do email ob_clean(); $mail->Body .= " <br> <br> <br> --E-mail gerado automaticamente, não responder.<br> --Caso não seja o destinatário correto entre em contato com o administrador."; // complementa o texto do email $mail->Send(); // envia o email
Uso essa rotina para enviar anexo, a parte que te interessa seria essa $mail->AddStringAttachment($pdf->Output('arquivo.pdf', 'S'), 'arquivo.pdf');
Como você já tem o arquivo em memoria seria o caso de só anexar e enviar.
Espero que isso te ajude a encontrar uma solução para o seu problema... boa sorte.
Responder
Clique aqui para fazer login e interagir na Comunidade :)