formulario html com bootstrap+php

09/01/2019

13

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?
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...:

  /*
 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
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira