【发布时间】:2012-11-14 09:34:22
【问题描述】:
我开发了一个包含 CI 表单验证、电子邮件助手和课程的联系表单。当用户发送信息时,客户端将收到一封包含此信息的 HTML 电子邮件。我已经用 HTML 表格结构创建了一个单独的视图,它是通过控制器中的字符串构建的 [下面的代码]。有没有办法将用户发送的内容传递到这个 HTML 表单中?例如,在我的电子邮件中,我有:
-You have received an email from $name<br>
-Message $message<br>
-You can reply to them at $email
如果有人可以指导我,那就太好了。我已将重要的 sn-ps 代码作为指南。
查看:
<h1>Contact</h1>
<div id="contact">
<?php
echo $message;
echo validation_errors();
echo form_open('contact/send_email');
//Name field
echo form_label('Name: ', 'name');
$data = array (
'name' => 'name',
'id' => 'name',
'value' => set_value('name')
);
echo form_input($data);
echo form_submit('submit', 'Send');
echo form_close();
控制器:
这段代码的顶部是表单验证和 if else 语句,当它通过验证检查时会发生这种情况:
}else{
$data['message'] = 'The email has successfully been sent';
$html_email = $this->load->view('html_email', $data, true);
//load the email class
$this->load->library('email');
$this->email->from(set_value('email'), set_value('name'));
$this->email->to('email@hotmail.com');
$this->email->subject('Message from Website');
$this->email->message($html_email);
$this->email->send();
//if error from library will send us metadata
echo $this->email->print_debugger();
$data['page_title'] = 'Contact';
$data['content'] = 'contact';
$this->load->view('template', $data);
}
【问题讨论】:
-
我认为这是可行的,这是正确的方法:在我想要 html 表单中的值的任何地方添加“”?
-
你将在 $data 中拥有什么......
-
您好,它是返回视图的触发器,其中包含传入的动态数据
-
你可以做一件事构建两个视图文件一个是contact.php,它将具有表单和所有内容,当用户提交表单时,它将转到控制器中的一个函数,该函数将调用另一个视图文件您将使用 $_POST 获取任何您想要的数据。准备好您希望在该视图中如何发送 html 电子邮件并使用您的发送邮件功能发送该视图文件.....
-
谢谢,我已经准备好你所说的一切,并认为我会尝试回显 $_POST['name'] 并工作。这种方法有什么缺点还是这是最好/唯一的方法?感谢您的评论。
标签: php codeigniter email html-email