0

我开发了一个包含 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);
}
4

3 回答 3

0

从上面的例子中,很简单的添加: echo $_POST['name'] 到 html 表单中。希望这可以帮助其他人并感谢您的支持。

于 2012-11-14T09:51:08.933 回答
0

以您应该使用的 CodeIgniter 方式做事,$this->input->post('name')而不是$_POST['name']

要将数据添加到您的视图中,只需添加

$data['name'] = $this->input->post('name');

在加载视图之前。这将允许您$name像在初始语句中一样在视图中打印变量。即在视图中:

You have a message from <?=$name?>

在控制器中,我也会更改set_value('name')$this->input->post('name').

于 2012-11-14T09:51:55.520 回答
0

您只需要在 html 表单文件中使用 $_POST['name'} 即可。

于 2012-11-14T09:52:42.023 回答