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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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 合并多个CodeIgniter';将控制器插入同一视图_Php_Codeigniter - Fatal编程技术网

Php 合并多个CodeIgniter';将控制器插入同一视图

Php 合并多个CodeIgniter';将控制器插入同一视图,php,codeigniter,Php,Codeigniter,所以我有一个显示站点布局的控制器,然后我有另一个管理电子邮件的控制器。我的问题是如何将它们组合到同一页面(同一视图)上?我是否只需将电子邮件控制器的功能添加到我的站点控制器?所以站点控制器有send()方法,然后将所有内容从我的“新闻稿”视图移动到我的“主页”视图 现场控制员 您是否从site controller中的方法中删除了此代码块?此代码会自动将您转发到新闻稿页面。您必须将其从站点控制器中删除 if($this->form_validation->run()==FALSE){

所以我有一个显示站点布局的控制器,然后我有另一个管理电子邮件的控制器。我的问题是如何将它们组合到同一页面(同一视图)上?我是否只需将电子邮件控制器的功能添加到我的站点控制器?所以站点控制器有send()方法,然后将所有内容从我的“新闻稿”视图移动到我的“主页”视图

现场控制员
您是否从site controller中的方法中删除了此代码块?
此代码会自动将您转发到新闻稿页面。您必须将其从站点控制器中删除

if($this->form_validation->run()==FALSE){
  $this->load->view('newsletter');
}

所以你想要一个控制器?或者你想分享这个观点?我不确定哪一个更好?不过我确实希望他们有相同的看法。你的方法很好。。如果要共享视图,请在站点控制器中添加新方法并加载相同的视图。如果您想共享功能,那么复制代码(但这是多余的)。你也可以重定向到另一个控制器。我想你会想了解更多关于这个控制器的信息。听起来您的电子邮件控制器应该是一个模型,并且应该加载到您的控制器中。然后您的控制器将进行电子邮件验证。表格将提交给您的管理员。如果你想解决这个问题,请与我聊天。或者你可能想使用模板进行研究。
class Email extends CI_Controller{


    function index()
    {

        $this->load->view('newsletter');
    }

    function send()
    {
        $this->load->library('form_validation');

        //field name, error message, validaion rules
        $this->form_validation->set_rules('name', 'Name', 'trim|required');
        $this->form_validation->set_rules('name', 'Email Address', 'required');


        if($this->form_validation->run()==FALSE)
        {
            $this->load->view('newsletter');

        }

        else
        {
        $name = $this->input->post('name');
        $email = $this->input->post('email');

        $this->load->library('email');
        $this->email->set_newline("\r\n");


        $this->email->from('', '');
        $this->email->to($email);
        $this->email->subject('This is an email test');
        $this->email->message('Sucess');

        $path = $this->config->item('server_root');
        $file = $path  .'CodeTest/attachments/newsletter1.txt';

        $this->email->attach($file);

        if($this->email->send())
        {
            echo ' Your email has been sent.';
        }

        else {

            show_error($this->email->print_debugger());

             }

        }

    }


}
if($this->form_validation->run()==FALSE){
  $this->load->view('newsletter');
}