Codeigniter表单提交到多个地方

时间:2012-12-06 14:56:13

标签: php html codeigniter constantcontact

我知道html表单不可能有两个动作,但也许有更好的方法让我完成我需要的东西。我有一个简单的表单,收集用户的电子邮件地址,并为常客联系人电子邮件列表签名。此外,电子邮件将提交给另一个控制器,该控制器显示一条感谢消息,其中包含表单中的$ email变量。我可以单独完成这两件事,但由于表单信息被发送到thankyou()和Constant Contact站点,因此无法让它们彼此同步工作。我确信有一种方法可以通过thankyou()控制器将这些数据发送到Constant Contact,我只是不知道该怎么做。

此外,我不能使用ajax,因为我需要在提交时显示不同的页面以跟踪感谢页面被查看的次数。

2 个答案:

答案 0 :(得分:1)

使用flashdata,并将电子邮件地址存储在flashdata变量中。

$this->session->set_flashdata('email', $email);

请记住,如果flashdata未在下一个请求中使用,则需要“保留”该flashdata,否则它将消失。

$this->session->keep_flashdata('email');

然后,将视图的$email变量设置为$this->session->flashdata('email');

答案 1 :(得分:0)

它应该是这样的: - 在视图中:

<form action="mycontroller/save">
</form>

在mycontroller中:

public function save(){
  // Do whatever you have to do
  $this->session->set_flashdata('email',$this->input->post('useremail'));
  redirect('url to thankyou() controller');

}

IN thankyou控制器:

public function save(){
  // Do whatever you have to do
  $email = $this->session->flashdata('email');
  $this->load->view('yourview',$email);

}