我开发了一个联系表单,其中包含CI表单验证,电子邮件帮助程序和类。当用户发送信息时,客户端将收到包含此信息的HTML电子邮件。我已经使用HTML表结构创建了一个单独的视图,这是通过控制器[下面的代码]中的字符串构建的。有没有办法将用户发送的内容传递给此HTML表单?例如,在我的电子邮件中,我有:
-You have received an email from $name<br>
-Message $message<br>
-You can reply to them at $email
如果有人可以指导我,那就太好了。我已经将重要的代码片段作为指南。
查看:
<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);
}
答案 0 :(得分:0)
从上面的例子中可以很简单地添加:echo $ _POST ['name'] 进入html表单。希望这可以帮助其他人并感谢他们的支持。
答案 1 :(得分:0)
以CodeIgniter的方式做事,你应该使用$this->input->post('name')
代替$_POST['name']
要将数据添加到视图中,只需添加
即可 $data['name'] = $this->input->post('name');
加载视图之前。这将允许您在视图中打印$name
变量,就像在初始语句中一样。即在视图中:
You have a message from <?=$name?>
在控制器中,我还会更改set_value('name')
的{{1}}。
答案 2 :(得分:0)
您只需在html表单文件中使用$ _POST ['name'}。