Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从电子邮件传递变量?_Php_Codeigniter_Email_Html Email - Fatal编程技术网

Php 如何从电子邮件传递变量?

Php 如何从电子邮件传递变量?,php,codeigniter,email,html-email,Php,Codeigniter,Email,Html Email,我已经开发了一个包含CI表单验证、电子邮件助手和类的联系表单。当用户发送信息时,客户端将收到一封包含此信息的HTML电子邮件。我已经用HTML表结构创建了一个单独的视图,它是通过控制器中的字符串构建的[下面的代码]。有没有办法将用户发送的内容传递到此HTML表单中?例如,在我的电子邮件中,我有: -You have received an email from $name<br> -Message $message<br> -You can reply to them a

我已经开发了一个包含CI表单验证、电子邮件助手和类的联系表单。当用户发送信息时,客户端将收到一封包含此信息的HTML电子邮件。我已经用HTML表结构创建了一个单独的视图,它是通过控制器中的字符串构建的[下面的代码]。有没有办法将用户发送的内容传递到此HTML表单中?例如,在我的电子邮件中,我有:

-You have received an email from $name<br>
-Message $message<br>
-You can reply to them at $email

从上面的示例中,添加:echo$\u POST['name']非常简单
转换为html表单。希望这可以帮助其他人,并感谢他们的支持。

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

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

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

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

您收到了来自


在控制器中,我还将更改
set_value('name')
$this->input->post('name')
您只需要在html表单文件中使用$\u post['name'}。

我认为这是可行的,这是正确的方法吗:加载项“”无论我想要html表单中的值在哪里?你将在$data中得到什么…嗨,这里是返回视图的触发器,动态数据被传递到其中。你可以做一件事构建两个视图文件,一个是contact.php,它将具有表单和所有内容,当用户提交表单时,它将转到控制器中的一个函数,其中我将调用另一个视图文件,因为您将使用$\u POST获取您想要的任何数据。准备您希望在该视图中使用html电子邮件的方式,并使用u r send mail功能发送该视图文件…..谢谢,我已准备好您所说的所有设置,并认为我将提供回显$\u POST['name']试试看,效果不错。这种方法有什么缺点吗?或者这是最好的/唯一的方法吗?谢谢你的评论。我只是CI的新手,这帮了我很大的忙,我从帖子改成了你上面说的,效果很好-谢谢!很高兴能帮上忙。这就是StackOverflow的作用:)
<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();
}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);
}