2013-07-19 3 views
0

У меня есть форма на моем веб-сайте, которую пользователь заполняет. После проверки формы я хочу отправить эту форму, как она есть, с значениями, заполненными на почту (возможно, HTML-форму или PDF). я должен это делать? Я знаю базовую форму отправки с помощью Php или Codeigniter, но я не знаю, как отправить форму в виде HTML-формы или Pdf.Как отправить заполненную форму по электронной почте php

+0

Чанширование заголовка почты, вы можете отправить html-письмо. Это то что ты хочешь? -> http://php.net/manual/en/function.mail.php – PaoloCargnin

ответ

0

Вы имеете в виду отправить форму как по электронной почте?

В рамке laravel вы можете отправить представление (с вашей формой) полностью, пройдя в виде $ view. Я не знаю, что такое codeigniter, может быть, у них тоже есть такая функция?

0

Я бы использовал PHPMailer, если бы был вами, поскольку он имеет очень удобный интерфейс и поддерживает различные безопасные протоколы через сокет. Если вы следуете упомянутой ссылке, вы найдете очень описательный пример использования. Теперь вы хотите, чтобы сосредоточиться на этих линиях:

<?php 

$mail = new PHPMailer; 
// [...] 
$mail->IsHTML(true); 
// [...] 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 

?> 

Я уверен, вы можете передать любую строку в Body свойства. Таким образом, только визуализируйте вашу HTML-форму, заполненную значениями, в переменную, затем передайте ее Body.

0

Ну это довольно легко с Конфигурационными Email Class

все, что вам нужно сделать, это обрабатывать почту, а затем вы можете создать новое представление и передавать данные форм, вплоть до его

$this->email->initialize($config); 
$this->email->from('[email protected]', 'Your Name'); 
$this->email->to('[email protected]'); 
$this->email->cc('[email protected]'); 
$this->email->bcc('[email protected]'); 

$this->email->subject('Email Test'); 
$data['form_post'] = $this->input->post(); 
$msg = $this->load->view('email/template',$data,true); 
$this->email->message($msg); 
$this->email->alt_message('Something Should go here Else CI just takes the original and strips the tags'); 
$this->email->send(); 
1

Попробуйте это :

#post your HTML form in a view say form.php 
public function sendForm(){     #the controller function 
    if($this->input->post(null)){ 
     $postValues = $this->input->post(null); #retrieve all the post variables and send to form.php 
     $form = $this->load->view('form.php', $postValues, true); #retrieve the form as HTML and send via email 
     $this->load->library('email'); 
     $this->email->from('[email protected]', 'Your Name'); 
     $this->email->to('[email protected]'); 
     $this->email->subject('Email Test'); 
     $this->email->message($form); 
     $this->email->send(); 
    } 
} 
Смежные вопросы