Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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
让1个按钮在控制器php codeigniter中执行两个不同的功能_Php_Function_Codeigniter - Fatal编程技术网

让1个按钮在控制器php codeigniter中执行两个不同的功能

让1个按钮在控制器php codeigniter中执行两个不同的功能,php,function,codeigniter,Php,Function,Codeigniter,我的表单中有一个按钮,用来将数据插入数据库并以电子邮件的形式发送数据。所以我的问题是我可以在控制器中分离函数吗?我已经尝试将insert和以电子邮件的形式发送数据这两种功能放在一个数据库中。它看起来真的很糟糕,因为我真正想做的功能比那2个要多。 公共函数insertdata{…} 和公共功能sendemail{…} 也许是这样的 当然,这是可能的。使用第一个函数“插入数据”创建两个函数,并检查是否插入数据。如果插入,则调用第二个函数并发送邮件。例如: public function insert

我的表单中有一个按钮,用来将数据插入数据库并以电子邮件的形式发送数据。所以我的问题是我可以在控制器中分离函数吗?我已经尝试将insert和以电子邮件的形式发送数据这两种功能放在一个数据库中。它看起来真的很糟糕,因为我真正想做的功能比那2个要多。 公共函数insertdata{…} 和公共功能sendemail{…}
也许是这样的

当然,这是可能的。使用第一个函数“插入数据”创建两个函数,并检查是否插入数据。如果插入,则调用第二个函数并发送邮件。例如:

public function insertdata(){
   $data = $this->input->post();
   //add model
   $result = $this->insert_model->InsertData($data);
   if($result>0){
     $this->sendmail($data);
   }else{
     $this->session->set_flashdata('Your data not inserted');
   }
}
public function sendmail($data){
   //here you can read data and write code for send email.
}

是的,当然,根据需要创建尽可能多的方法,并从链接到路由的方法调用它们。您可以在“发件人”中添加第二个按钮,两个按钮都需要有名称,并且在控制器中,首先需要捕获聊天按钮,用户单击该按钮,然后使您符合逻辑。或者在第二个按钮中使用html5操作,这将起作用,但CodeIgniter从一个函数中调用另一个函数并不是最佳实践。上面例子中的sendmail函数应该被制作成一个库。请参阅:Sparky您绝对是在编写,您可以创建电子邮件库并调用sendmail函数。